我现在有一个简单的C ++项目,我试图包含libxml2。我正在运行Red Hat 7.我已经阅读了有关向Eclipse C项目添加外部库的各种帖子,请参阅:
大多数答案都说要将库路径添加到GCC链接器或类似的东西。问题是,我不完全确定我的libxml2存储在哪里,但我确定它已安装。我在设置中添加库路径的尝试都没有奏效。这是my query to see where libxml2 is installed这里是me just looking through my whole file system to find libxml2。我仍然是Red Hat的新手,所以任何帮助都会非常感激。提前致谢!
您可以使用
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.so
符号链接,它仅与libxml2-devel
包一起安装。由于libxml2位于标准位置,因此您不必将其他路径传递给链接器。如果包含任何libxml2标头,则必须将/usr/include/libxml2
添加为自定义包含目录(选项-I
)。