Makefile作为Linux下的源码编译规则说明,配合make命令使用,可以快速编译出库及可执行文件。经过整理,已经将一个简单工程的Makefile代码归档到github上,工程代码及Makefile见:
工程中包含三个Makefile(最外层的称为总控makefile),各个makefile中有相关的注释说明,有需要的自行到https://github.com/chhy2009/Makefile-template.git 下载。
make install 时指定安装路径:export DESTDIR=install_dir
, 然后 make install
make时存在库依赖问题,解决方法如下:export PKG_CONFIG_PATH=/.../software_name/lib/pkgconfig/
即设置被依赖库路径到PKG_CONFIG_PATH变量
编译动态库
由源文件直接编译
gcc–shared –fpic –o libtest.so test.c
由.o文件编译
gcc -shared *.o -o libtest.so
编译静态库
先gcc源文件为.o,再执行 ar –rc libtest.a .o打包成静态库