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

我正在使用<XZY> IDE来编译我的程序,并且在导入/集成特定的库时遇到了一些麻烦。

我收到类似的错误消息

 fatal error: 3rdPartyLib.h: No such file or directory 

为一个

 #include "3rdPartyLib.h" 

声明

 ld.exe: cannot find `lib3rdParty.a` 

用于指定

 3rdParty 

在额外的图书馆

至less我得到了一些类似的错误信息

 undefined reference to `lib3rdParty::foo()' 

我能做些什么来解决这个问题?

这是一个常见的误解,即使用当前的IDE,负责得到问题中所述的错误。
看例如

  • 在两个相同的项目中的c + + lib,一个可以工作,但另一个不能
  • 使用CodeBlocks IDE for C ++ Windows链接libxml ++和glib库

问题几乎从来没有涉及到目前使用的IDE。
在大多数情况下,解决scheme归结起来,为实际工具链的编译器/链接器提供适当的path以search包含的头文件,以便成为链接库。

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

  • 什么是未定义的引用/无法parsing的外部符号错误,我该如何解决?
  • 未定义引用'WinMain @ 16'

大多数常见的IDE提供了为特定项目configuration的function。 这里有一些样品


Eclipse的CDT

包含path设置: 在这里输入图像描述

库和库searchpath设置 在这里输入图像描述


Visual Studio 2013

在这里输入图像描述


代码块 在这里输入图像描述在这里输入图像描述


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

从他们的FAQ:

9.我怎样才能使用OpenGL库和其他?

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

您也可以考虑在那里添加一个-L选项来添加search库的目录path。


Qt Creator

为了添加包含path,您必须打开.pro文件,然后将目录添加到INCLUDEPATHvariables。 这些path由空格分隔。 参考可以在这里find。

显示INCLUDEPATH


如果上面的样例都不适用于您实际使用的IDE /工具链,那么我希望您能够获得抽象的点:

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

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

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

没有这个configuration窗口:

在这里输入图像描述