在Linux中,下载了一个程序源代码,并希望将其静态链接。我有一个很大的Makefile,我
./configure
make
编译。理解它有点太笼统了,但我如何才能使二进制文件静态链接呢?
编辑:这样做的原因是希望确保二进制文件不会有依赖关系(或者至少是尽可能少),这样就可以在任何基于Linux的计算机上运行,即使是没有Internet连接的计算机,也可以是未更新的Linux。
是否可以在java中通过Teamspeak.so加载System.loadLibrary库并访问.h文件中声明的方法?(源是来自/ ts3_sdk_3.0.3.2 / .h /.h/serverlib.h的文件;来自/bin/libts3server_linux_amd64.so的.so文件)
我可以加载库:
System.loadLibrary("ts3server_linux_amd64"); -无错误地工作。
当我尝试使用一种方法时,我会得到一个
java.lang.UnsatisfiedLinkError
测试代码:
public class main {
我构建了一个Qt应用程序,并在build目录中包含了所需的库。当我尝试从另一台计算机运行应用程序时,它不起作用。
这是ldd输出:
linux-vdso.so.1 => (0x00007fff8c7fe000)
libQt5Widgets.so.5 => not found
libQt5Gui.so.5 => not found
libQt5Core.so.5 => not found
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f5cb4143000)
libgcc_s.