C++ 共享库存在一些问题

C++ 共享库存在一些问题,c++,c,C++,C,我正在为源代码编译一个程序,它没有找到一些用它编译的动态库。这是我运行可执行文件时的输出。(汇编得很好) 我的问题是,我知道-L在编译时会找到库,但如何确保程序在运行时能找到库呢 库位于bin目录中可执行文件的相对路径../lib处。您可以在运行时设置LD\u LIBRARY\u path(或者实际上,DYLD\u LIBRARY\u path,因为您在OS X上),以包括库目录 export DYLD\u LIBRARY\u PATH=“$DYLD\u LIBRARY\u PATH:/PATH

我正在为源代码编译一个程序,它没有找到一些用它编译的动态库。这是我运行可执行文件时的输出。(汇编得很好)

我的问题是,我知道-L在编译时会找到库,但如何确保程序在运行时能找到库呢


库位于bin目录中可执行文件的相对路径../lib处。

您可以在运行时设置
LD\u LIBRARY\u path
(或者实际上,
DYLD\u LIBRARY\u path,因为您在OS X上),以包括库目录


export DYLD\u LIBRARY\u PATH=“$DYLD\u LIBRARY\u PATH:/PATH/to/lib”

编译过程将创建一个包含所有库信息的可执行文件。它在编译过程中得到的信息。因此,如果您要在一台计算机上创建可执行文件,并且该计算机的库位于您提到的路径中,那么一切都应该正常运行。但是,在其他地方(不存在库)运行二进制二进制文件可能是个问题。C++还是C++?挑一个。这听起来似乎两者都与此无关。这很管用,但有没有办法在编译时处理它?只是一个补充。我正在尝试将所有内容打包到应用程序捆绑包中,因此库将位于捆绑包中,并且可能会四处移动。我认为您可以在路径中包含
@executable\u path
,以引用可执行文件的运行时路径。
dyld: Library not loaded: libipeqtcanvas.so.7.0.14
  Referenced from: /Users/zrbecker/testipe/bin/./ipe
  Reason: image not found
Trace/BPT trap