我得到了三个文件来测试我的项目: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
也是项目的名称。