【问题标题】:Adding libxml to Eclipse project in Red Hat在 Red Hat 中将 libxml 添加到 Eclipse 项目
【发布时间】:2019-02-13 08:09:50
【问题描述】:

我现在设置了一个简单的 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 还是很陌生,所以任何帮助都将不胜感激。提前致谢!

【问题讨论】:

    标签: java eclipse redhat libxml2


    【解决方案1】:

    你可以使用

    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
    

    以下是如何添加的完整步骤:

    1. 使用new c/c++ project创建新项目

    2. 选择c++ managed build

    3. 选择hello world c++ project

    4. 输入项目名称

    5. 导航到properties -> c/c++ build -> settings

    6. 选择GCC C++ Compiler/Includes/Include Paths

    7. 添加两个路径:/usr/include/libxml2/libxml/usr/include/libxml2

    8. 选择GCC C++ Linker/Libraries/Libraries

    9. 添加xml2

    10. 应用并关闭

    11. 重新构建项目

    【讨论】:

    • 试过了,运行时好像找不到libxml:
    • @user7356447 如果您在 /lib64 中有 lib,请尝试将此路径添加到 Library search path。如果它新安装的库运行ldconfig
    • 还要确保你有 /usr/include/libxml2/usr/include/libxml2/libxml 检查这些文件夹是否存在
    • 如果它们不存在尝试通过find / -type d -name libxml2 | grep include 查找然后用它替换包含路径,我想你知道它是如何工作的
    • @user7356447 无需创建,只需通过find / -type d -name libxml2 | grep include 找到它所在的位置,然后添加这些文件夹而不是默认位置。对 lib 路径执行相同操作
    【解决方案2】:

    您缺少 libxml2.so 符号链接,该符号链接仅与 libxml2-devel 软件包一起安装。由于 libxml2 位于标准位置,因此您不必将其他路径传递给链接器。但是,如果包含任何 libxml2 标头,则必须将 /usr/include/libxml2 添加为自定义包含目录(选项 -I)。

    【讨论】:

    • 你是我的英雄!那是缺失的部分。结合 HRgiger 的说明,它现在可以工作了。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 2018-11-11
    相关资源
    最近更新 更多