gpt4 book ai didi

c++ - 静态链接库时对 std::*something* 的 undefined reference

转载 作者:太空宇宙 更新时间:2023-11-04 12:32:00 24 4
gpt4 key购买 nike

我已经将我的一些代码编译成一个静态库。这个库中的所有内容都以 Glow 或 GLOWE 前缀开头。目前,我正在 Linux (Ubuntu 14.04) 中测试该库。我做了一个简单的程序来检查我是否做对了一切。

#include <GlowSystem/Package.h>
int main(void)
{
GLOWE::Package package;

return 0;
}

GLOWE::Package 是一个类。它使用 libzip 和 zlib(以及标准的 c++ 文件,例如字符串)。我链接了 libzip 和 zlib。当我尝试编译时,它因一些链接错误而失败。 Build log (at pastebin)

我认为这些错误是由太旧的 libstdc++ 引起的,但这段代码编译通过:

#include <string>

using namespace std;

int main(void)
{
string a;
a.resize(5000);
return 0;
}

我已经无计可施了,我不知道该怎么办。我将不胜感激任何帮助。

最佳答案

看起来您的链接器选项不正确:

../GlowE/GlowEngine/bin/Debug/libGlowEngine.a /usr/lib/x86_64-linux-gnu/libzip.a /usr/lib/x86_64-linux-gnu/libz.a

尝试:

-l../GlowE/GlowEngine/bin/Debug/GlowEngine -l/usr/lib/x86_64-linux-gnu/zip -l/usr/lib/x86_64-linux-gnu/z

关于c++ - 静态链接库时对 std::*something* 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43045819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com