gpt4 book ai didi

c++ - c/c++ boost - 编译问题

转载 作者:太空宇宙 更新时间:2023-11-04 07:39:43 27 4
gpt4 key购买 nike

我一直在绞尽脑汁想弄清楚如何使用 boost 正则表达式编译我的应用。

我已经在 centos 5 上从源代码安装了 boost。

g++ -lboost_regex -o my_app my_app.c $(mysql_config --libs --cflags)

它编译没有任何错误,但是当我执行它时:

error while loading shared libraries: libboost_regex.so.1.46.1: cannot open shared object file: No such file or directory

该文件的位置是:

/usr/local/lib/libboost_regex.so.1.46.1

有人遇到同样的问题吗?

最佳答案

您是否尝试过 LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH your_program 以确保它知道在哪里可以找到共享对象?您可以在链接时使用-Wl,-R/usr/local/lib设置路径。

编辑:更清楚地说,当您链接代码时,链接器会将 RPATH 和 RUNPATH 嵌入到二进制文件中。这些值告诉运行时加载程序在哪里可以找到所需的共享对象。

如果您将 -Wl,-R/usr/local/lib 添加到您的链接命令,这应该会导致它嵌入该目录并在加载您的程序时始终检查它。

关于c++ - c/c++ boost - 编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5421705/

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