makefile的常用选项
2016-01-06 11:57
316 查看
makefile的选项CFLAGS、CPPFLAGS、LDFLAGS和LIBS的区别
LDFLAGS是选项,LIBS是要链接的库。都是喂给ld的,只不过一个是告诉ld怎么吃,一个是告诉ld要吃什么。网上不难搜索到上面这段话。不过“告诉ld怎么吃”是什么意思呢?
看看如下选项:
LDFLAGS = -L/var/xxx/lib -L/opt/mysql/lib DLIBS = -lmysqlclient -liconv |
说到这里,进一步说说LDFLAGS指定-L虽然能让链接器找到库进行链接,但是运行时链接器却找不到这个库,如果要让软件运行时库文件的路径也得到扩展,那么我们需要增加这两个库给”-Wl,R”
LDFLAGS = -L/var/xxx/lib -L/opt/mysql/lib -Wl,R/var/xxx/lib -Wl,R/opt/mysql/lib |
PS:-Wl,R在GraphicsMagick环境下,用为-R, 也就是LDFLAGS = -L/var/xxx/lib -R/var/xxx/lib
CFLAGS 或 CPPFLAGS的用法
CPPFLAGS=’-I/usr/local/libjpeg/include -I/usr/local/libpng/include’CC 与 CXX:
这是 C 与 C++ 编译器命令。默认值一般是 “gcc” 与 “g++”。
CPPFLAGS will be given to the C preprocessor
这是用于预处理阶段的选项。
CFLAGS 与 CXXFLAGS
CFLAGS 表示用于 C 编译器的选项,CXXFLAGS 表示用于 C++ 编译器的选项。这两个变量实际上涵盖了编译和汇编两个步骤。
http://blog.sina.com.cn/s/blog_605f5b4f0101bctg.html
/article/8119331.html
相关文章推荐
- art(AOT) dalvik(JIT)
- 加速Linux程序编译
- C#汉字字母数字正则
- Oracle操作命令详解
- 用nginx搭建http/rtmp/hls协议的MP4/FLV流媒体服务器
- 用一个方法返回两个及两个以上不同类型的结果
- 手写笔记
- SpringMVC同时支持多视图(JSP,Velocity,Freemarker等)的一种思路实现
- super T 和? extends T区别
- C++11多线程(十三):《C++11 内存模型一:介绍》
- PostgreSQL学习手册(常用数据类型)
- DSP/BIOS详解入门
- String转Json,jsonArray,jsonObject
- apache开源项目 -- VXQuery
- linux+php+apache web调用python脚本权限问题解决方案
- IDEA里面为项目添加编写Groovy支持
- Endian
- ganglia监控系统安装与部署
- ArrayList 扩容 Android Java 真的不一样
- 【cas、spring-security】The error indicates the the CAS server is trying to post the single sign out re