C++执行过程中出现“未定义符号”

3

我的程序编译和链接都没有出现错误。但是当我开始运行程序时,它会显示:

"undefined symbol: _ZN6Flexus11SharedTypes19FastBranchPredictor9combiningERKSsj"

如何做到这一点?如果有任何模糊的地方,它就不应该与程序相关联。
去混淆版本:
Flexus::SharedTypes::FastBranchPredictor::combining(std::string const&, unsigned int)

1
这是VC++还是g++?库是静态链接还是动态链接的? - arunkumar
只有g++存在这个问题,VC++没有。 - Ajay
1个回答

4
我认为你正在链接到一个动态库,该库中不包含你尝试从中调用的函数。编译器和/或链接器无法检测到该错误,因为你正在链接到库运行时。

1
谢谢你的提示。我发现我没有在make过程中包含我的文件。换句话说,在a.cpp中,我定义了一些内容,在b.cpp中我使用了它。但是我忘记在make过程中包含'a'。Make只处理'b'。 - mahmood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接