首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >eclipse-cdt如何与静态库链接

eclipse-cdt如何与静态库链接
EN

Stack Overflow用户
提问于 2012-07-24 18:07:39
回答 3查看 32.6K关注 0票数 14

首先,我很困惑是将图书馆设置在Linker/Libraries下面,还是将它们设置在“路径和符号”之下。我认为他们是一样的。我说得对吗?

为了回答我的问题,我需要链接静态库,所以我尝试了很少的东西:

首先尝试,我尝试在链接库中添加gtest (这是库)和gtest路径。这样,它的编译和链接正确,但在运行时失败,因为当它试图加载共享库(,我想要静态库!)错误是

加载共享库时出错: libgtest.so.0

第二次尝试-我尝试在路径和符号中定义它,并将完整的路径添加到库中。在这个例子中,我得到了链接中的错误:

代码语言:javascript
复制
g++ -L/root/workspace/gmock/lib/.libs -L/root/workspace/gmock/gtest/lib/.libs -o "playground"  ./src/p.o ./src/playground.o   -lpthread -l/root/workspace/gmock/gtest/lib/.lib/libgtest.a -l/root/workspace/gmock/lib/.lib/libgmock.a
/usr/bin/ld: cannot find -l/root/workspace/gmock/gtest/lib/.lib/libgtest.a

这个职位没有给出一个答案,也没有解释如何定义与静态和共享不同的链接。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-25 07:40:49

经过大量的研究,没有相关的答案。找到了!我在这个对eclipse-cdt有用的链接找到的

显然,这个库需要存在于工作区中。

票数 17
EN

Stack Overflow用户

发布于 2015-07-07 18:30:45

将库路径/文件添加到: Properties - C/C++构建-设置- GCC C++链接器-杂项-其他对象

票数 4
EN

Stack Overflow用户

发布于 2015-03-19 00:20:47

我将Botan密码库构建为一个静态库,原因是我不想在这里讨论,当我按照所有的步骤在网络上添加库路径并指定库名时,没有"lib“和".a",我的项目构建得很好,但是当我运行它时,我一直收到”程序意外终止“(或类似的)错误。最后我想出了解决办法。在菜单栏中,转到Project > Properties > C/C++ Build > Settings >交叉G++链接器,并在${COMMAND}${FLAGS}之间添加-static,因此整行如下所示:

代码语言:javascript
复制
${COMMAND} -static ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}

你的可能会有所不同。我正在使用Eclipse露娜服务第2版(4.4.2),在Windows 8.1上使用mingw-w64 mingw-构建项目w/gcc 4.9.2。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11636755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档