GCC编译相关

  • gcc静态连接的一些坑
    假如有两个静态库liblua.a和libluaexport.a。其中libluaexport.a依赖于liblua.a。链接时,必须按顺序写成 -lluaexport -llua而不能写成 -llua -lluaexport。原因是,gcc在链接静态库时,第一种写法下,gcc在libluaexport.a中查找到未知的符号,然后在liblua.a中查找到定义,进行正常链接。而在第二种写法下,gcc在liblua.a中未查找到未知符号,然后在libluaexport.a中查找到未定义符号,此时,连接器并不会返回去查找liblua.a,故链接报错
  • 一些连接符号
    -i: 指定头文件的路径
    -L: 指定lib库的路径
    -l: 链接lib库

你可能感兴趣的:(GCC编译相关)