如果出现比较匪夷所思的 undefined reference 错误,一般是这两种情况:
1. c和c++混合连接,对gcc编译的.c文件里面的函数未加上extern "C"
gcc以C命名对待.c, c++命名对待.cpp; 而g++则统一以c++命名对待
2. .o文件,.a(库文件相当于.o文件包),顺序问题, .a内部的.o也是有顺序要求的:引用者在前,定义者在后(即先引用后定义)
如果出现比较匪夷所思的 undefined reference 错误,一般是这两种情况:
1. c和c++混合连接,对gcc编译的.c文件里面的函数未加上extern "C"
gcc以C命名对待.c, c++命名对待.cpp; 而g++则统一以c++命名对待
2. .o文件,.a(库文件相当于.o文件包),顺序问题, .a内部的.o也是有顺序要求的:引用者在前,定义者在后(即先引用后定义)