我现在设置了一个简单的C++项目,我正在尝试包含libxml2。我正在运行红帽 7。我已经阅读了有关将外部库添加到 Eclipse C 项目的各种文章,请参阅:
- 如何在 Eclipse Indigo CDT 中设置 libxml C++
大多数答案都说要向GCC链接器添加库路径或类似的东西。问题是,我不完全确定我的libxml2存储在哪里,尽管我确定它已安装。我在设置中添加库路径的所有尝试都没有奏效。这是我的查询,看看libxml2的安装位置,这是我只是浏览我的整个文件系统以找到libxml2。我对红帽还很陌生,所以任何帮助将不胜感激。提前感谢!
ldconfig -p
要找出图书馆的位置,即 myn 看起来像这样(Fedora(:
$ldconfig -p | egrep -i libxml
libxml2.so.2 (libc6,x86-64) => /lib64/libxml2.so.2
libxml2.so (libc6,x86-64) => /lib64/libxml2.so
libxmlsec1.so.1 (libc6,x86-64) => /lib64/libxmlsec1.so.1
libxmlsec1-openssl.so.1 (libc6,x86-64) => /lib64/libxmlsec1-openssl.so.1
libxmlsec1-openssl.so (libc6,x86-64) => /lib64/libxmlsec1-openssl.so
libxmlsec1-nss.so.1 (libc6,x86-64) => /lib64/libxmlsec1-nss.so.1
libxmlsec1-nss.so (libc6,x86-64) => /lib64/libxmlsec1-nss.so
libxmlrpc_xmltok.so.3 (libc6,x86-64) => /lib64/libxmlrpc_xmltok.so.3
libxmlrpc_xmlparse.so.3 (libc6,x86-64) => /lib64/libxmlrpc_xmlparse.so.3
libxmlrpc_util.so.4 (libc6,x86-64) => /lib64/libxmlrpc_util.so.4
libxmlrpc_server_cgi.so.3 (libc6,x86-64) => /lib64/libxmlrpc_server_cgi.so.3
libxmlrpc_server_abyss.so.3 (libc6,x86-64) => /lib64/libxmlrpc_server_abyss.so.3
libxmlrpc_server.so.3 (libc6,x86-64) => /lib64/libxmlrpc_server.so.3
libxmlrpc_openssl.so.1 (libc6,x86-64) => /lib64/libxmlrpc_openssl.so.1
libxmlrpc_client.so.3 (libc6,x86-64) => /lib64/libxmlrpc_client.so.3
libxmlrpc_abyss.so.3 (libc6,x86-64) => /lib64/libxmlrpc_abyss.so.3
libxmlrpc.so.3 (libc6,x86-64) => /lib64/libxmlrpc.so.3
libxml++-2.6.so.2 (libc6,x86-64) => /lib64/libxml++-2.6.so.2
以下是如何添加的完整步骤:
使用
new c/c++ project
创建新项目选择
c++ managed build
选择
hello world c++ project
输入项目名称
导航到
properties -> c/c++ build -> settings
选择
GCC C++ Compiler/Includes/Include Paths
添加两个路径:
/usr/include/libxml2/libxml
和/usr/include/libxml2
选择
GCC C++ Linker/Libraries/Libraries
添加
xml2
申请并关闭
重建项目
您缺少仅随libxml2-devel
包一起安装的libxml2.so
符号链接。由于 libxml2 位于标准位置,因此不必将其他路径传递给链接器。但是,如果包含任何libxml2标头,则必须/usr/include/libxml2
添加为自定义包含目录(选项-I
(。