我有一个由主文件(main.cpp
)组成的小项目,其中我刚刚添加了一个新函数,以及在头文件(pojemnik.h)中定义的带有源文件的类pojemnik({{ 1}})单独编译。
我使用makefile。这是一个摘录:
pojemnik.cpp
这是我GitHub的链接,我的所有代码都可用,以防上述元素不足。
当我尝试编译它时,我遇到了以下错误:
program: obj obj/main.o obj/pojemnik.o
g++ obj/main.o -o program
obj/main.o: src/main.cpp inc/pojemnik.h
g++ ${CXXFLAGS} -c src/main.cpp -o obj/main.o
obj/pojemnik.o: src/pojemnik.cpp inc/pojemnik.h
g++ ${CXXFLAGS} -c src/pojemnik.cpp -o obj/pojemnik.o
我已经为所有功能实现了该方法。在创建该函数之前,所有内容都在正确编译。你能指出我犯的错误吗?
答案 0 :(得分:2)
问题来自你的makefile:
program: obj obj/main.o obj/pojemnik.o
g++ obj/main.o -o program
您已忘记命令中的obj/pojemnik.o
,因此g ++将尝试在没有链接的情况下进行链接。这就是为什么它没有找到pojemnik类的任何符号。