编译那些事儿

0、经验

  • make的时候可能需要在上一层进行编译
  • 使用-Wno-error去掉所有警告,或者删除-Werror选项
  • CFLAGS

1、头文件引入

用include 引用头文件时,双引号和尖括号的区别:

1.双引号:引用非标准库的头文件,编译器首先在程序源文件所在目录查找,如果未找到,则去系统默认目录查找,通常用于引用用户自定义的头文件。

2.尖扩号:只在系统默认目录(在Linux系统中通常为/usr/include目录)或者尖括号内的路径查找,通常用于引用标准库中自带的头文件。

综上,标准库自带的头文件既可以用双引号也可以用尖括号,不过习惯使用尖括号,用户自定义的头文件只能用双引号。

一般情况下 这么用:自己写的用双引号,第三方库或者系统的库的头文件用尖括号。要不然经常会出现乱七八糟的错误。

我习惯用双引号。结果今天在使用mysql的库函数的头文件的时候也用双引号,虽然在附加依赖项里面添加了头文件的路径,最后却被一个找不到头文件的错误搞晕了。

所以切记,只有自己写的用双引号。

2、编译文件objs

.d文件是自动生成的makefile类似的。

3、编译文件配置

configure config.mak

results matching ""

    No results matching ""