对子目录中的类的未定义引用

时间:2018-02-27 09:42:43

标签: c++ g++

我无法收集我的项目进行编译。我有一个目录结构如下:

main/
 |--common/
 |    |-----lib/
 |    |      |----> help.o
 |    |---- help.cpp
 |    |---- help.h
 |    |---- makefile
 |--prog/
 |    |-----bin/
 |    |      |----> progMain
 |    |-----lib/
 |    |      |----> main.o
 |    |---- main.cpp
 |    |---- makefile
 |-- makefile

主makefile首先在prog中编译共同的代码。编译步骤正常。问题是我得到链接器抱怨undefined reference to Help:: ... main.cpp包含它#include "common/help.h" prog / makefile中用于构建可执行文件的行是

g++ -o bin/progMain lib/main.o -L../common/lib/

我无法让链接器在Help类中找到代码。我试过了

g++ -o bin/progMain lib/main.o ../common/lib/*.o
g++ -o bin/progMain lib/main.o -I../common/lib/
g++ -o bin/progMain lib/main.o -I../common/ -L../common/lib/
g++ -o bin/progMain lib/main.o -l../common/lib/help.o

但这些都没有帮助。始终是相同的未定义引用错误。谢谢你的帮助。另请注意,这是一个简化示例,common/prog/

中有多个类

0 个答案:

没有答案