如何#include第三方图书馆

时间:2013-07-26 17:15:38

标签: c++ build include libraries include-path

我已经构建并安装了一个名为OhNet的库。在make install之后,usr/local/include/ohNet下安装了相应的框架头文件。现在我想在我的C ++项目中使用库(我正在使用eclipse)但是当我尝试包含一些头文件时,eclipse无法找到这些文件。 据我所知,eclipse应默认搜索这些目录中的头文件(/ usr / include,/ usr / local / include,...)....我需要做什么才能使用该库? 我对C ++很陌生,之前没有使用过第三方资源。

谢谢。

- EDIT-- 我只想写一个简单的“helloworld”程序来验证我是否正确地包含了框架。为了做到这一点,我想要实现类OpenHome::Net::DvDeviceStdStandard。见:ohNet C++ reference

我现在可以使用以下内容包含头文件: #include <ohNet/OpenHome/Net/Core/DvDevice.h>这很好用。但是如何创建OpenHome::Net::DvDeviceStdStandard类型的对象?现在? Eclipse说这种类型无法解决。 :(

#include <iostream>
#include <ohNet/OpenHome/Net/Core/DvDevice.h>

using namespace std;

int main() {

    OpenHome::Net::DvDeviceStdStandard device; //type cannot be resolved
    cout << "!!!Hello World!!!" << endl;
    return 0;
}

2 个答案:

答案 0 :(得分:8)

  1. 使用-I编译器选项指向第三方库目录(-I/usr/local/include/ohNet
  2. 根据需要在头文件和编译单元中使用#include "[whatever you need from oHNet].h"注意:您可能需要在第三方包含路径树中为子目录添加相对前缀修补程序!)
  3. 使用-L链接器选项指定所需的第三方库的路径(可能为-L/usr/local/lib
  4. 使用-l链接器选项指定您需要的任何具体第三个库(可能-l[oHNet]
  5. 在目录中查看实际安装的内容,以确定[whatever you need from oHNet].h[oHNet],s。的位置。就后者而言liboHNet.a

    您没有在此明确标记[tag:Eclipse CDT],而是转到Project-&gt; Properties-&gt; C ++ Builder-&gt; Settings对话框并查找C / C ++ Includes和Linker Options。

答案 1 :(得分:0)

您必须在项目文件夹中放置要使用的头文件,然后在.cpp文件中使用#include,就像对任何其他头文件一样。