标签:文件 静态 简单 makefile 目标 使用 写法 链接
makefile简单使用
写法:
写法一:
目标:依赖
tab键:规则命令
这样写缺点:一个文件改变,编译时全部文件重新编译。
原因:依赖文件如果比目标文件新,则重新生成目标。
隐含规则:默认处理第一个目标,如写法二结果是app,而不是main.o那些。可以指定目标,如makefile test,处理test目标
只有一个makefile文件,直接make。多个例如mk1,ma2,执行make -f mk1
搭配函数:
wildcard 可以进行内容匹配
patsubst 内容的替换
写法二:
写法三:
问题:
问题1:-l(L的小写)链接的到底是动态库还是静态库
答案:如果链接路径下同时有 .so 和 .a 那优先链接 .so
问题2:如果路径下同时有静态库和动态库如何链接静态库
答案:使用显示链接, gcc -l:lib***.a (将静态库的名字显示写出来)
或者在 gcc 编译的时候 加入参数 -static -lXXX, 则可以添加路径下面的静态库。
验证方法:
可以通过 ldd 命令查看生成的 目标文件链接的库,使用方法: ldd ***.o
标签:文件,静态,简单,makefile,目标,使用,写法,链接 来源: https://www.cnblogs.com/junyi233/p/15383395.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。