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