gpt4 book ai didi

c++ - 与 Boost 和 ncurses 的静态链接

转载 作者:搜寻专家 更新时间:2023-10-31 01:15:47 25 4
gpt4 key购买 nike

我正在制作一款基本的角色扮演游戏。我想静态地包含 Boost 库,这样运行我的游戏的人就不需要拥有它们了。我查了一下,你所要做的就是在命令行编译中添加-static,所以我的命令是这样的:

$ g++ -static -o karthas *.o -lncurses -lmenu -lboost_system -lboost_filesystem

但显然 -static 正在影响 ncurses。我收到一大堆错误,其中大部分是对“SP”的 undefined reference 。

是否可以只对 Boost 而不是 ncurses 进行静态链接?我该怎么做?

最佳答案

您可以选择哪些库将静态链接,哪些库将通过在名称前加上 -Wl,-static-Wl,-Bdynamic 来动态链接。

例如:

g++  -o karthas *.o -Wl,-static -lmenu -lboost_system -lboost_filesystem -Wl,-Bdynamic -lncurses 

menu、boost_system 和 boost_filesystem 库将静态链接并动态链接 ncurses。

(但您也可以将 boost dll 与您的可执行文件一起分发,而不是静态链接任何内容)。

关于c++ - 与 Boost 和 ncurses 的静态链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9708086/

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