gpt4 book ai didi

g++ - Eclipse 管理同时使用静态和动态链接库进行制作

转载 作者:行者123 更新时间:2023-12-01 12:57:50 25 4
gpt4 key购买 nike

我正在使用 Eclipse CDT 的托管生成功能。使用仅动态库创建项目按预期工作。但是 boost_unit_test_framework 应该是静态链接的,因为它包含了 main 函数。在命令行上,混合链接到动态和静态库不是问题。所以这是一个工作示例:

g++ -L../Debug -L../boost/lib -o "Test" ./Test.o -ldynLib -Wl,-Bstatic -lboost_unit_test_framework -Wl,-Bdynamic

dynlib 和 libc 等标准库是动态链接的,而 boost_unit_test_framework 是静态链接的。但是如何在项目设置中输入此信息?我看不出有什么办法。

可以在每个项目中标记此库以进行静态链接,例如在全局位置。 QNX([手册])使用了约定。可以使用 LIBPREF_library 和 LIBPOST_library 在指定库之前或之后添加选项。

更新:我仍然不知道如何解决所描述的问题。但与此同时,我已将我的构建系统从 Managed Make 切换到 CMake。此外,我现在正在使用 Qt Creator,因为它能够索引提升并且在更新某些内部结构时不会卡住 UI ...

[手册] http://www.qnx.com/developers/docs/6.3.0SP3/neutrino/prog/make_convent.html#USEMAC

最佳答案

我认为您不需要指定链接类型。动态库不能静态链接,反之亦然。在我的一个项目中,在项目属性 -> C/C++ 构建 -> 设置下,我在库下列出了静态库和动态库。似乎可以确定它们是什么类型,并且无论哪种方式都可以正常链接。

关于g++ - Eclipse 管理同时使用静态和动态链接库进行制作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8706049/

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