在 Eclipse 中使用 CUTE 进行C++测试

Using CUTE for C++ tests in Eclipse

本文关键字:进行 C++ 测试 CUTE Eclipse      更新时间:2023-10-16

我在网上读到,我应该把我现有的项目(处于开发阶段)从中构建一个共享库,并使用该库进行测试。我计划做的是将我当前的所有工作转移到一个新的共享库 eclipse 项目中,使用它在旅途中进行测试,并继续在这个新的共享库项目中开发,我将使用它进行测试和开发。但是,当我点击共享库项目的构建时,以便我查看我在那里所做的更改是否编译,我得到

调用:交叉 G++ 链接器g++ -shared -o "libMatchingEngineLibrary.so" ./src/Fill.o ./src/GlobalMatchingEngine.o ./src/Main.o ./src/Order.o ./src/OrderBook.o ./src/SingleFifoMatchingEngine.o ./src/SingleMatchingEngine.o
/usr/bin/ld: ./src/Fill.o:创建共享对象时不能使用针对"vtable for Fill"的重定位R_X86_64_32S;使用 -fPIC 重新编译./src/Fill.o:无法读取符号:错误值收集2:LD 返回 1 个退出状态制造: * [libMatchingEngineLibrary.so] 错误 1

为什么我甚至无法构建这个共享库项目,更不用说能够开始测试它了?我做错了什么?我应该能够构建它吗?如果我在这种共享库项目中进行开发(我只想这样做只是为了方便并行进行测试和开发)可以吗?

编辑:错误中提到的 Fill 类按字母顺序是项目中的第一个类。我正在通过点击日食上的锤子图标来构建。

该错误准确地说明了您缺少的内容。使用 -fPIC 标志重新编译。这将允许"位置独立代码",在尝试创建共享对象库之前,您可能应该了解它。祝你好运!