gpt4 book ai didi

c++ - 编译对象后链接共享库时出错

转载 作者:行者123 更新时间:2023-11-28 06:35:24 25 4
gpt4 key购买 nike

我编译了目标文件,然后尝试编译可执行文件,但失败了,说在“theLib”中存在未定义的函数引用。

g++ -I./theLib/src -c -o obj/main.o src/main.cpp

(目前有效)

g++ -L./theLib -Wl,-rpath=./theLib obj/main.o -ltheLib -o exe

(错误:libtheLib.so:未定义对“some_function”的引用)

我到处检查答案,他们都只是建议将 -ltheLib 部分移到依赖项之后(我这样做了)。但它仍然不起作用。真正让我感到困惑的是,对于不同目录中的示例,同一个库编译得很好。

库在 C 中。尝试编译 C++ 会搞砸吗?还是我只是遗漏了一些先编译 .o 文件的东西?

最佳答案

事实证明,该库依赖于我必须在自己的源代码中实现和提供的功能。我从来不知道有些图书馆会这样做,但吸取了教训。一旦我实现了导致错误的函数并添加了这些源文件,它就起作用了。

关于c++ - 编译对象后链接共享库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26855018/

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