发布网友 发布时间:2024-10-15 00:26
共1个回答
热心网友 时间:2024-10-30 02:42
无法解析的外部符号的几个原因:
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的值。