c语言中的外部符号怎么解析?

如题所述

无法解析的外部符号的几个原因:

1、lib 文件未引入。

在Visual Studio中"项目->属性->连接器->常规->附加库目录"写上.lib库所在文件夹;其次,"项目->属性->连接器->输入->附加依赖项"中写上.lib库的名称。使用#pragma comment(lib, “XXX.lib”)语句添加 lib引用。

2、类方法的实现未加类标识。

如, “CTest::Connect(void) { ? }” 写成了 “Connect(void) { ? }”。

3、没有将项目需要的头文件、源文件加入项目中。

4、引用了不匹配的lib库(相当于没有引用),比如多字节字符集的程序引用了UNICODE字符集的lib。VS中“项目-属性-常规-字符集”可更改程序的字符集,Notepad++可更改源代码的字符集。比如在VS里更改程序字符集为Unicode,Notepad++里更改字符集为UTF-8。

C语言中外部符号的声明

外部符号的声明:这里的外部符号是在不同源文件下定义符号的区分源文件一假设是有外部符号的,int g_val=10;这里只有g_val的值的显示源文件二就是主要的源文件,是执行文件,这里可以不定义g_val,可以用extern来引用源文件一里的g_val的值。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网