繁体   English   中英

在eclipse cdt中找不到库文件

[英]cannot not find library files in eclipse cdt

properties / C / C ++构建/设置GCC C ++链接器/库

在库(-I)下我有libbost_system libbost_filesystem ...并且在库搜索路径(-L)下我有/ home / etobkru / boost_1_43_0 / boostBinaries / lib

但是当我编译时,我得到g ++ -L / home / etobkru / boost_1_43_0 / boostBinaries / lib / -o“searchDirs”./ main.o -llibboost_system -llibboost_filesystem -llibboost_regex /usr/lib/gcc/i586-suse-linux/4.1 .2 /../../../../ i586-suse-linux / bin / ld: 找不到-llibboost_system

我尝试过libbost_system.so和libbost_system.a,但我得到了同样的错误。 我做错了什么以及为什么eclipse无法找到文件。 因为他们在那里?

您不需要名称中的“lib”部分。 只需链接

-lboost_system -lboost_filesystem -lboost_regex

我认为这类似于/ usr / bin / ld:找不到-llibeststring.a

你试过-lboost_system吗? -l选项不期望前导lib或尾随.a.so

实际上经过很多挫折后我决定阅读ld的手册页!

l namespec --library = namespec将namespec指定的存档或目标文件添加到要链接的文件列表中。 此选项可以使用任意次。 如果namespec的格式为:filename,ld将在库路径中搜索名为filename的文件,否则它将在库路径中搜索名为libnamespec.a的文件。

因为我的特定库是myfoobar.dll的一些东西,直到我意识到我希望ld使用实际的文件名之前没有任何工作。 正如其他人发布截图一样,如何将库添加到链接器,我需要做的就是将字段中的'myfoobar'更改为':myfoobar.dll',它运行正常。

您应该使用':'来确定要搜索的文件名,并远离默认的文件名格式,如果没有它。 希望这可以减轻挫败感。

香酥,

我知道它有点事后,但您可以尝试-l:libbost_system.so并且它将查找具有该名称的库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM