Makefile指定编译选项
2011-04-28 19:07
253 查看
指定[b]编译选项[/b]
编译选项由三部分组成:预处理选项、编译选项以及连接选项,分别由 CPPFLAGS、CFLAGS与CXXFLAGS、LDFLAGS 指定。
CPPFLAGS 选项可参考 C 预处理命令 cpp 的说明,但是注意不能包含 -M 以及和 -M 有关的选项。如果是 C/C++ 混合编程,也可以在这里设置 C/C++ 的一些共同的编译选项。
CFLAGS 和 CXXFLAGS 两个变量通常用来指定编译选项。前者仅仅用于指定 C 程序的编译选项,后者仅仅用于指定 C++ 程序的编译选项。其实也可以在两个变量中指定一些预处理选项(即一些本来应该放在 CPPFLAGS 中的选项),和 CPPFLAGS 并没有明确的界限。
连接选项在 LDFLAGS 中指定。如果只使用 C/C++ 标准库,一般没有必要设置。如果使用了非标准库,应该在这里指定连接需要的选项,如库所在的路径、库名以及其它联接选项。
现在的库一般都提供了一个相应的 .pc 文件来记录使用库所需要的预编译选项、编译选项和连接选项等信息,通过 pkg-config 可以动态提取这些选项。与由用户显式指定各个选项相比,使用 pkg-config 来访问库提供的选项更方便、更具通用性。在后面可以看到一个 GTK+ 程序的例子,其编译和连接选项的指定就是用 pkg-config 实现的。
http://blog.csdn.net/mindva/archive/2010/12/24/6095522.aspx
http://www.chinaunix.net/jh/23/408225.html
http://blog.csdn.net/hanchaoman/archive/2010/06/17/5675070.aspx
编译选项由三部分组成:预处理选项、编译选项以及连接选项,分别由 CPPFLAGS、CFLAGS与CXXFLAGS、LDFLAGS 指定。
CPPFLAGS 选项可参考 C 预处理命令 cpp 的说明,但是注意不能包含 -M 以及和 -M 有关的选项。如果是 C/C++ 混合编程,也可以在这里设置 C/C++ 的一些共同的编译选项。
CFLAGS 和 CXXFLAGS 两个变量通常用来指定编译选项。前者仅仅用于指定 C 程序的编译选项,后者仅仅用于指定 C++ 程序的编译选项。其实也可以在两个变量中指定一些预处理选项(即一些本来应该放在 CPPFLAGS 中的选项),和 CPPFLAGS 并没有明确的界限。
连接选项在 LDFLAGS 中指定。如果只使用 C/C++ 标准库,一般没有必要设置。如果使用了非标准库,应该在这里指定连接需要的选项,如库所在的路径、库名以及其它联接选项。
现在的库一般都提供了一个相应的 .pc 文件来记录使用库所需要的预编译选项、编译选项和连接选项等信息,通过 pkg-config 可以动态提取这些选项。与由用户显式指定各个选项相比,使用 pkg-config 来访问库提供的选项更方便、更具通用性。在后面可以看到一个 GTK+ 程序的例子,其编译和连接选项的指定就是用 pkg-config 实现的。
http://blog.csdn.net/mindva/archive/2010/12/24/6095522.aspx
http://www.chinaunix.net/jh/23/408225.html
http://blog.csdn.net/hanchaoman/archive/2010/06/17/5675070.aspx
相关文章推荐
- Makefile指定编译选项
- makefile编译选项
- Makefile编译选项CC与CXX/CPPFLAGS、CFLAGS与CXXFLAGS/LDFLAGS
- 关于Linux的makefile的自动生成,以及.configure及编译选项
- Linux中gcc g++常用编译选项以及makefile的编写
- Makefile之 cc编译命令选项
- make 指定使用特定的makefile文件进行编译
- makefile编译选项CC与CXX/CPPFLAGS,CFLAGS与CXXFLAGS/LDFLAGS
- 一点一点学写Makefile(4) - 编译时指定宏参数
- Makefile编译选项CC与CXX/CPPFLAGS、CFLAGS与CXXFLAGS/LDFLAGS
- 一点一点学写Makefile(4) - 编译时指定宏参数
- Makefile之 cc编译命令选项
- makefile编译选项与常用变量
- 源码编译zlib-1.2.3.tar.bz2时,需要指定CFLAGS="-march=loongson232",会以+=传进Makefile
- Makefile编译选项
- 一点一点学写Makefile(4) - 编译时指定宏参数
- Makefile编译选项
- win7 64下VS2010编译的时候出现fatal error LNK1146: 没有用选项“/out:”指定的参数终极解决方案
- Linux中gcc,g++常用编译选项以及makefile的编写
- Linux中gcc g++常用编译选项以及makefile的编写