在 Eclipse 中使用 CUTE 进行C++测试
Using CUTE for C++ tests in Eclipse
我在网上读到,我应该把我现有的项目(处于开发阶段)从中构建一个共享库,并使用该库进行测试。我计划做的是将我当前的所有工作转移到一个新的共享库 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
标志重新编译。这将允许"位置独立代码",在尝试创建共享对象库之前,您可能应该了解它。祝你好运!
- 通过递归进行因子分解
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 我可以使用 g++ 进行三种比较 (<=>) 吗?
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 使用libgit2、c++进行pull
- 为什么即使使用-cudart-static进行编译,库用户仍然需要链接到cuda运行时
- 如何使用模板函数的函数签名进行SFINAE
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 将模板化的类型与C++中的某些类/类型进行比较
- 在c++中尝试对对象数组进行排序时,出现std:bad_alloc错误
- 如何对点云数据进行排序
- 从文本文件中读取时钟时间和事件时间并进行处理
- 对字符串进行位操作
- 是否可以使用winusb同时与多个相同的usb设备进行通信
- 是否可以对零模板参数进行模板专门化
- 对字符串进行排序时,在c++中处理sort()
- 试图对缓存进行跨步测试,但程序并没有结束
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- C++将目录中的所有文件与::filesystem进行比较