在Anjuta 的C++项目中调用自定义C函数:undefined reference
在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++Gtkmm项目时如何正确调用自定义C函数的方法。通过在头文件中添加特定的预处理器指令解决了链接器报告的未定义引用错误。
1912

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



