多文件编译链接时的错误

晕!在linux里用arm-linux-gcc编译器编译时,链接器居然能区分出由.c和.cpp编译成的.o文件,而在链接时不去包含.c文件生成的.o文件中的函数实现!
相关:
  1.可以包含函数声明(因为通过了编译),但链接时出现错误(找不到所包含函数的实现)。undefined reference to m()
  2.将.c文件改名为.cpp文件再编译即可:)
  3.BTW:多个文件及头文件共同编译时,注意所包含头文件中必须不含有变量声明及定义,宏和函数声明可以。

你可能感兴趣的:(linux,reference,编译器)