程序可以';在运行时找不到libboost_程序选项.so.1.47.0 因为我没有root权限安装Boost C++库,所以我把它安装在了我的本地本地。在编译时,我使用了: g++-I/home/name/local/boost\u 1\u 47\u 0-L/home/name/local/boost\u 1\u 47\u 0/stage/lib foo.cc-o foo-lboost\u程序选项

程序可以';在运行时找不到libboost_程序选项.so.1.47.0 因为我没有root权限安装Boost C++库,所以我把它安装在了我的本地本地。在编译时,我使用了: g++-I/home/name/local/boost\u 1\u 47\u 0-L/home/name/local/boost\u 1\u 47\u 0/stage/lib foo.cc-o foo-lboost\u程序选项,c++,boost,boost-program-options,C++,Boost,Boost Program Options,但在运行时,它是这样的: 加载共享库时出错:libboost\u程序\u选项。so.1.47.0:无法打开共享对象文件:没有此类文件或目录 土地发展署提供: libboost\u程序\u选项。so.1.47.0=>未找到 我还尝试指定库的绝对路径,但也不起作用: g++/home/name/local/boost_1_47_0/stage/lib/libboost_program_options.so.1.47.0-I/home/name/local/boost_1_47_0/stage/lib

但在运行时,它是这样的: 加载共享库时出错:libboost\u程序\u选项。so.1.47.0:无法打开共享对象文件:没有此类文件或目录

土地发展署提供:
libboost\u程序\u选项。so.1.47.0=>未找到

我还尝试指定库的绝对路径,但也不起作用:
g++/home/name/local/boost_1_47_0/stage/lib/libboost_program_options.so.1.47.0-I/home/name/local/boost_1_47_0/stage/lib foo.cc-o foo

尝试使用
LD_LIBRARY_PATH
环境变量指示运行时链接器在何处查找库:

export LD_LIBRARY_PATH=/home/name/local/boost_1_47_0/stage/lib

然后重新运行应用程序。

尝试使用
LD\u LIBRARY\u PATH
环境变量指示运行时链接器在何处查找库:

export LD_LIBRARY_PATH=/home/name/local/boost_1_47_0/stage/lib

然后重新运行你的应用程序。

我是新手,所以不要把我的话看得太重。此外,这个问题已经有几个月了,我想早就解决了。然而,以下是我的想法

您可以指定链接器的库路径,以便程序可以编译并链接。但是,当您尝试执行二进制文件时,它会在环境定义的路径中查找lib

我想这可以通过在bash中键入来解决

导出路径=$PATH:PATH\u到您的\u库\u文件夹

致意
米罗斯拉夫

我是个新手,所以不要把我的话看得太重。此外,这个问题已经有几个月了,我想早就解决了。然而,以下是我的想法

您可以指定链接器的库路径,以便程序可以编译并链接。但是,当您尝试执行二进制文件时,它会在环境定义的路径中查找lib

我想这可以通过在bash中键入来解决

导出路径=$PATH:PATH\u到您的\u库\u文件夹

致意
Miroslav

值得注意的是,这并不是一个很好的长期解决方案。最终,您可能需要要求boost_程序_选项进入系统库搜索路径sans LD_library_path,或者使用带有本地共享库的运行路径。如果你不能安装到系统中,我会使用静态库发布,因此不需要LD_LIBRARY_路径。值得注意的是,这不是解决问题的好办法。最终,您可能需要要求boost_程序_选项进入系统库搜索路径sans LD_library_path,或者使用带有本地共享库的运行路径。查看是否无法安装到系统位置,我将使用静态库进行发布,因此不需要LD_LIBRARY_路径