【发布时间】:2009-05-11 16:05:36
【问题描述】:
使用:windows xp、g++ 3.4.4 和 cygwin 和 g++ 3.4.5 和 mingw。
我正在用 cppunit 编译一个简单的单元测试类。
当我使用 g++ 3.4.5 进行链接时,我得到了很多链接错误。当我与 g++ 3.4.4 链接时,我没有收到任何错误,并且 exe 链接正常并运行。
我似乎无法追查错误,所以有什么想法吗?
谢谢。
编辑:链接错误:未引用的函数错误。喜欢:
SimpleTest.cpp:(.text+0x313): undefined reference to `CppUnit::Message::Message(std::string const&, std::string const&)'
编辑:命令行:
g++ -I g:\projects\thirdparty\cppunit-1.12.1\include -L g:\projects\thirdparty\cppunit-1.12.1\lib -l cppunitd -o main.exe main.cpp SimpleTest.cpp
更新:Visual Studio 中的相同代码:没有错误,单元测试按预期运行。
【问题讨论】:
-
有什么错误?你的链接器命令行是什么?
-
您似乎链接到调试库。你检查过你给它正确的预处理器定义吗?您是否链接到静态库?您可能希望将“-l cppunitd”放在 .cpp 文件之后。
-
两者都做了,不高兴(仅供参考,我做了:-DDEBUG 在 -o ... 部分之前)。没错,对吧?