0

我不确定我得到的未定义参考。

./cxxtest/cxxtestgen.py -o tests.cpp --error-printer DrawTestSuite.h
g++ -I./cxxtest/ -c tests.cpp
g++ -o tests tests.o Color.o
tests.o: In function `DrawTestSuite::testLinewidthOne()':
tests.cpp:(.text._ZN13DrawTestSuite16t… undefined reference to `Linewidth::Linewidth(double)'
tests.cpp:(.text._ZN13DrawTestSuite16t… undefined reference to `Linewidth::draw(std::basic_ostream<char… std::char_traits<char> >&)'
collect2: ld returned 1 exit status
make: *** [tests] Error 1// DrawTestSuite.h

DrawTestSuite.h 包含单元测试和 Linewidth.h 上的测试函数调用以执行构造函数和成员函数 draw。

#include "Linewidth.h"在 DrawTestSuite.h 中。

4

1 回答 1

1

“未定义的引用”是一个链接器错误,当函数已正确声明和使用,但链接时未包含定义。

您需要链接 Linewidth.o,它是编译 Linewdith.cpp 的目标文件以及实现这些功能的可能位置。

我不熟悉 cxxtest 以了解它希望您如何指定该依赖项,但我怀疑它只需要一个简单的声明。

于 2010-04-14T06:36:39.493 回答