gpt4 book ai didi

c - 链接到 Cmake 中不存在的共享库

转载 作者:行者123 更新时间:2023-11-30 17:54:50 25 4
gpt4 key购买 nike

我有一个 CMAKE 项目,我正在使用 pcap。在我的 cmake 文件中,我有以下内容:

target_link_libraries(mylib pcap)

并在我的系统上安装了以下内容

在/usr/lib

/usr/lib/libpcap.so -> /usr/local/lib/libpcap.so

在/usr/local/lib

/usr/local/lib/libpcap.so.1.3.0
/usr/local/lib/libpcap.a
/usr/local/lib/libpcap.so -> /usr/local/lib/libpcap.so.1.3.0

但是当我构建代码并在可执行文件上运行 ldd 时,我得到了

libpcap.so.1 => not found

所以问题是对 libpcap.so.1 的引用来自哪里,我该如何修复它?无论是更改我的 cmake 设置中的某些内容,还是系统上的某些内容。

编辑:我在我的系统上找到了,libpcap.so.1 绝对不在系统上的其他地方

最佳答案

此问题的可能解决方案如下:

  1. PCAP_LIBRARIES 设置为您要链接的库列表(我建议绝对路径)
  2. PCAP_LIBRARIES_DIR 设置为以列分隔的库所在目录列表
  3. 设置要链接的库

    target_link_libraries( mylib ${PCAP_LIBRARIES} )

  4. 相应地设置目标属性

    SET_TARGET_PROPERTIES( myexe
    特性
    INSTALL_RPATH ${PCAP_LIBRARIES_DIR}
    )

关于c - 链接到 Cmake 中不存在的共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14734449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com