用静态库的完整路径链接可执行文件

linking executable with a full path to the static library

本文关键字:路径 链接 可执行文件 静态      更新时间:2023-10-16

我正在以以下方式链接和构建库中的可执行文件

mpic++ -Wall -o example example.o /path/to/my/lib/libmy.a

otool -L example显示它与

相链接
example:
libmy.a (compatibility version 0.0.0, current version 0.0.0)
/opt/openmpi/lib/libmpi_cxx.1.dylib (compatibility version 2.0.0, current version 2.1.0)
/opt/openmpi/lib/libmpi.1.dylib (compatibility version 2.0.0, current version 2.3.0)
    ....

是否有办法保持完整的路径链接?可能是什么旗帜,但我没找到。所以otool显示如下:

   /path/to/my/lib/libmy.a (...)
   ....

好的,解决方案似乎是使用:

install_name_tool -change "libmy.a" "/path/to/lib/libmy.a" example