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

谢谢。

- 编辑 -
我只是想编写一个简单的“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;
}

最佳答案

  • 使用-I编译器选项指向第三方库目录(-I/usr/local/include/ohNet)
  • 根据需要在头文件和编译单元中使用#include "[whatever you need from oHNet].h"(注意:,您可能需要在此处将第三方的子目录的相对前缀路径包括在路径树中!)
  • 使用-L链接器选项可以指定所需的第三方库的路径(可能是-L/usr/local/lib)
  • 使用-l链接器选项来指定您需要的任何具体的第3个库(可能是-l[oHNet])

  • 查看目录中实际安装的目录,以确定[whatever you need from oHNet].h[oHNet] s.th的放置位置。就像后者的liboHNet.a一样。

    您没有在此处显式标记[tag:Eclipse CDT],而是转到Project-> Properties-> C++ Builder-> Settings对话框并查找C/C++ Includes和Linker选项。

    08-16 13:55