0

我对 C++ 有点陌生,但这对于有更多经验的人来说应该很容易找到,因为我已经盯着它看了一段时间了。

我有一个类,它有另一个类实例作为 ivar:

private:
Test test1;

然后我有test.hpp

class Test{
int x;
void tester();
public:
Test(); //constructor
};

并且test.cpp

 Test::Test():x(5){
    tester();
}

void Test::tester(){
std::cout<<x;
}

当我尝试跑步时,我得到了这个:

Test::Test() referenced from <my original class with the test1 ivar> not found in architecture

现在我有很多其他的 C++ 代码工作正常,所以“架构”,不管这意味着什么,显然支持语言正常(我正在使用 Xcode)。

什么可能导致此链接器错误?

4

1 回答 1

3

确保包含您的测试类的 C++ 文件已编译并且实际上与最终的可执行文件链接。

在 Xcode 中,这意味着将 C++ 文件分配给目标。

于 2013-01-20T11:40:10.667 回答