我正在尝试使用cpputest构建一个简单的单元测试可执行文件.我已将cpputest框架构建到静态库中,现在正尝试将其链接到可执行文件中.但是,由于相关代码,我陷入了相当复杂的Makefile设置.
这是我的命令行:
/usr/bin/qcc -V4.2.4,gcc_ntoarmle_acpp-ne -lang-c++ -O2 -g -g -o Application/UnitTests/Tests/symbols/UnitTestExe -Wl,--start-group Application/UnitTests/Tests/../.objs/main.o Application/UnitTests/lib/libcpputest.a -Wl,--end-group -lm
Run Code Online (Sandbox Code Playgroud)
我收到很多错误,如下所示:
Application/UnitTests/lib/libcpputest.a(CommandLineTestRunner.o): In function `CommandLineTestRunner::parseArguments(TestPlugin*)':
Application/UnitTests/cpputest/src/CppUTest/.objs/../CommandLineTestRunner.cpp:114: undefined reference to `operator new(unsigned int, char const*, int)'
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚造成这种情况的原因.我不是用C++免费获得operator new吗?
zvr*_*rba 62
您可能需要链接C++支持运行时库.当你调用g ++时会自动发生这种情况.在linux上,这是通过向链接器添加-lstdc ++标志来实现的.你必须弄清楚如何在你的平台上做同样的事情.