我使用<XZY>
IDE编译我的程序,并且在导入/集成特定库时遇到一些麻烦。
我收到错误消息,例如
fatal error: 3rdPartyLib.h: No such file or directory
表示
#include "3rdPartyLib.h"
声明
ld.exe: cannot find `lib3rdParty.a`
用于指定
3rdParty
在其他库中
至少我收到了一些错误消息,比如
undefined reference to `lib3rdParty::foo()'
我该怎么做才能解决这个问题?
答案 0 :(得分:9)
这是一个常见的误解,当前使用的IDE负责获取问题中所述的错误。
参见例如
问题几乎与当前使用的IDE无关 在大多数情况下,解决方案归结为,为实际工具链的编译器/链接器提供相应的路径以搜索包含的头,作为链接库。
链接器相关问题的主要适用答案之一是
大多数常见IDE都提供了为特定项目配置此功能的功能。以下是一些示例
<强> Eclipse的CDT 强>
包含路径设置:
图书馆&amp;库搜索路径设置
Visual Studio 2013
代码块
** DEV C ++(Bloodshed C ++)
从他们的常见问题解答:
<强> 9。我如何使用OpenGL库和其他人?
Mingw附带的所有库都位于Lib目录中。它们都以下列方式命名:
lib*.a
要将库链接到项目,只需添加项目选项,更多选项文件:
-lopengl32
这是为了包含libopengl32.a
库。要添加任何其他库,只需遵循相同的语法: 键入-l
(L为小写)加上库的基本名称(不带lib
的文件名和.a
扩展名)。
您也可以考虑在那里添加-L
选项来添加搜索库的目录路径。
Qt Creator
要添加包含路径,您必须打开.pro文件然后添加
INCLUDEPATH
变量的目录。这些路径由空格分隔。可以找到参考here。
如果上述示例中没有一个适用于您实际使用的IDE /工具链,我希望您能够获得抽象点:
如何为实际工具链提供编译/链接选项是一个问题。用于设置上下文的IDE在这里是一个小问题。
答案 1 :(得分:2)
对于 eclipse ,我尽可能使用pkg-config
插件:
https://marketplace.eclipse.org/content/pkg-config-support-eclipse-cdt
失败了这个配置窗口: