2

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

4

0 回答 0