我正在使用SFML,并且正在使用Code::Block和mingw32构建一个应用程序。我已经在我的项目中添加了SFML库(sfml-whatever.a),它运行得很好。
但是iIrc,静态库被“编译”成了可执行文件。如果是这样的话,为什么我必须将所有的SFML DLL放在可执行文件的旁边,才能让它在Code::块之外的任何地方运行?如果我以某种方式“动态链接”代码::块中的动态链接库到我的项目中(我不知道如何做到这一点),我是否仍然必须将我的可执行文件与所有.a文件一起发布,才能正常运行?
提前感谢,我对库不是很熟悉,无论是静态的还是动态的。如果有什么不同的话,那就是我正在Ubuntu l
在Linux中,下载了一个程序源代码,并希望将其静态链接。我有一个很大的Makefile,我
./configure
make
编译。理解它有点太笼统了,但我如何才能使二进制文件静态链接呢?
编辑:这样做的原因是希望确保二进制文件不会有依赖关系(或者至少是尽可能少),这样就可以在任何基于Linux的计算机上运行,即使是没有Internet连接的计算机,也可以是未更新的Linux。