在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
本文介绍在Anjuta环境下使用C++调用C语言函数时遇到的链接错误问题及其解决方案。通过在头文件中添加特定的预处理器指令,可以轻松解决此问题。
1224

被折叠的 条评论
为什么被折叠?



