将库放入 Linux 的 exe 文件夹中
put libraries inside exe folder in Linux
我正在尝试制作一个可移植的 Linux 应用程序,其中所有必需的库都包含在该文件夹中。
但是如果我只是把它们放在可执行文件旁边的文件夹中,它说找不到库。
那么我怎样才能发布一个包含所有必需库的应用程序呢?
I'm trying to make a portable Linux application where all required libraries are included inside the folder.
您要找的是 RPATH
的二进制文件,其中包含 $ORIGIN
。例如,构建您的二进制文件:
gcc -o myexe main.o ... '-Wl,-rpath=$ORIGIN/'
(注意:需要单引号。)将导致 myexe
在找到二进制文件本身的同一目录中查找共享库。
我正在尝试制作一个可移植的 Linux 应用程序,其中所有必需的库都包含在该文件夹中。
但是如果我只是把它们放在可执行文件旁边的文件夹中,它说找不到库。
那么我怎样才能发布一个包含所有必需库的应用程序呢?
I'm trying to make a portable Linux application where all required libraries are included inside the folder.
您要找的是 RPATH
的二进制文件,其中包含 $ORIGIN
。例如,构建您的二进制文件:
gcc -o myexe main.o ... '-Wl,-rpath=$ORIGIN/'
(注意:需要单引号。)将导致 myexe
在找到二进制文件本身的同一目录中查找共享库。