在Anjuta中建立了一个C++的Gtkmm工程,然后添加了两个自定义的C语言源文件。结果编译链接时出错──“undefined reference xxxxxx”,Anjuta不知道如何链接它。开始以为是工程属性没设好,结果却是声明的问题。
其实这是常见的C++中调用C函数的情况,平时在Win下编程,那些头文件都是别人帮我们写好了的,所以总没出现过这种情况。
解决起来也是超容易,在头文件(*.h)首尾添加几行代码即可,就像下面这样。
其实这是常见的C++中调用C函数的情况,平时在Win下编程,那些头文件都是别人帮我们写好了的,所以总没出现过这种情况。
解决起来也是超容易,在头文件(*.h)首尾添加几行代码即可,就像下面这样。
#ifdef __cplusplus
extern " C " {
#endif
// 这里是头文件中原来的内容
#ifdef __cplusplus
}
#endif
extern " C " {
#endif
// 这里是头文件中原来的内容
#ifdef __cplusplus
}
#endif