为什么编译后没有.o
Why is there no .o after compiling?
每次
更改代码后,我都必须编译整个程序,因为没有保存.o文件,makefile有什么问题?
CXX=g++
CXXFLAGS=-W -Wall -ansi -pedantic
LDFLAGS=
EXEC=test
SRC= $(wildcard *.cpp)
OBJ= $(SRC:.c=.o)
all: $(EXEC)
@echo "$(CYAN)ntProgram successfully compiled!na$(BLACK)"
$(EXEC): $(OBJ)
$(CXX) -o $@ $^ $(LDFLAGS)
%.o: %.cpp
$(CXX) -o $@ -c $< $(CXXFLAGS)
谢谢约翰想通了!
问题是这一行:
OBJ= $(SRC:.c=.o(
它必须是这样的:
OBJ= $(SRC:.cpp=.o(
确实,我从makefile中复制了结构来编译C程序,所以我必须修改源文件的扩展名!
相关文章:
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 使用简单类型列表实现的指数编译时间.为什么
- 为什么即使使用-cudart-static进行编译,库用户仍然需要链接到cuda运行时
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 为什么 gcc 编译这个而 msvc 没有
- 非类型指针和引用模板参数,以及在编译时如何/为什么解析它们.c++
- 编译 llvm 3.1 时,为什么会出现错误:在">"标记之前预期主表达式
- 为什么我的 EnumWindowProc 不能用 C 语言编译?
- 为什么我的 BaseClass:Method 代码编译(带有单冒号)?
- 为什么下面的模板化类成员函数无法编译?
- 为什么通过指针编译时不能分配 const 初始化
- 如果我的手机是 ARMv8,为什么 Android Studio 会C++编译为 ARMv7?
- 为什么传递非静态成员函数会导致编译错误?
- 为什么 std::make_shared 无法编译带有已删除运算符 new 的类型?
- 为什么使用EnTT进程无法编译
- 为什么许多项目不提供预编译的二进制文件?
- 包含 std::forward 会产生错误,但其省略会编译.为什么
- 我相信 -O2 标志导致我不得不在每台机器上重新编译.为什么
- clang 在 Coliru 中编译此代码段,但不在编译器资源管理器中编译.为什么