将库导入我的c ++项目时出现问题,如何解决这个问题?

时间:2014-07-12 18:06:21

标签: c++ ide

我使用<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()'

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:9)

这是一个常见的误解,当前使用的IDE负责获取问题中所述的错误。
参见例如

问题几乎与当前使用的IDE无关 在大多数情况下,解决方案归结为,为实际工具链的编译器/链接器提供相应的路径以搜索包含的头,作为链接库。

链接器相关问题的主要适用答案之一是

  

大多数常见IDE都提供了为特定项目配置此功能的功能。以下是一些示例


<强> Eclipse的CDT

包含路径设置: enter image description here

图书馆&amp;库搜索路径设置 enter image description here


Visual Studio 2013

enter image description here


代码块 enter image description here enter image description here


** DEV C ++(Bloodshed C ++)

从他们的常见问题解答:

  

<强> 9。我如何使用OpenGL库和其他人?

     

Mingw附带的所有库都位于Lib目录中。它们都以下列方式命名:lib*.a   要将库链接到项目,只需添加项目选项,更多选项文件:
  -lopengl32
  这是为了包含libopengl32.a库。要添加任何其他库,只需遵循相同的语法:   键入-l(L为小写)加上库的基本名称(不带lib的文件名和.a扩展名)。

您也可以考虑在那里添加-L选项来添加搜索库的目录路径。


Qt Creator

要添加包含路径,您必须打开.pro文件然后添加 INCLUDEPATH变量的目录。这些路径由空格分隔。可以找到参考here

Showing INCLUDEPATH


如果上述示例中没有一个适用于您实际使用的IDE /工具链,我希望您能够获得抽象点:

  

如何为实际工具链提供编译/链接选项是一个问题。用于设置上下文的IDE在这里是一个小问题。

答案 1 :(得分:2)

对于 eclipse ,我尽可能使用pkg-config插件:

https://marketplace.eclipse.org/content/pkg-config-support-eclipse-cdt

失败了这个配置窗口:

enter image description here