我有三个文件来测试我的项目:Test1.cpp
SignalMasker.h
和SignalMasker.o
当Test1.cpp
包含SignalMasker.h
文件和我项目中的文件时。将两者放在源文件夹中将返回未定义的引用,例如:
error: undefined reference to 'SignalMasker::~SignalMasker()'
我尝试使用项目首选项并将.o文件添加到其中。在GCC C++ Linker-> Miscellaneous -> other objects
下。选择文件时,它将新记录插入:
"${workspace_loc:/${ProjName}/source/SignalMasker.o}"
构建它似乎无法解决问题,因此我添加到Linker flags
-l
标记并获得:
Invoking: GCC C++ Linker
g++ -l -o "uthreads" ./source/Scheduler.o ./source/SchedulerStarter.o ./source/Test1.o ./source/Thread.o ./source/main.o ./source/uthreads.o /home/tom/workspace/uthreads/source/SignalMasker.o
g++: error: uthreads: No such file or directory
make: *** [uthreads] Error 1
所以我回到other objects
并将自动生成的变量替换为:
./source/SignalMasker.o
建筑给了我:
make: *** No rule to make target `source/SignalMasker.o', needed by `uthreads'. Stop.
这些都是我在SO中找到的所有解决方案,似乎没有任何工作,包括创建一个库并尝试包含它。请帮忙。
编辑:uthreads
也是项目的名称。