我有一个简单的项目,它使用一个库来运行。
例如,我的程序名为“myApp”,我有一个我自己构建并编码的库,名为libspoonybard。设置libspoonybard的makefile,以便为此库生成共享对象(.so)和静态库(.a)文件。
-myApp
--libspoonybard
我在构建时指定什么(通过命令行标志或makefile),以便我可以将“myApp”构建为“静态”版本(即:强制使用libspoonybard.a)和“动态” “版本(在运行时强制使用libspoonybard.so)。
我已经尝试在StackOverflow上搜索类似主题的几个搜索,但所有结果似乎都集中在如何创建静态vs动态库,而不是如何指定链接哪个。对不起,如果这是转贴。
提前感谢大家的帮助。
答案 0 :(得分:3)
“ - static”vs“-shared”可以在GCC下使用:
http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#Link-Options
答案 1 :(得分:3)
您可以使用-static标志,直接指定.so或.a文件等。
简短介绍: 3.2 Shared libraries and static libraries (Stallman/Gough)