UNRESOLVEDEXTERNALSYMBOL的简单介绍

http://www.itjxue.com  2023-01-07 07:38  来源:未知  点击次数: 

c++中 unresolved external symbol_main 是什么意思? 下面是我的程序.出现这个错误,怎么解决?谢谢!

这类错误是编译器找不到指定的符号定义。它是在连接的时候出现的,有两种可能:

1、你写的这个函数只有省名,没有定义。

2、这个函数是动态连接库导出的函数,而你没有连接它的lib库文件可以用“#pragma comment(lib, "那个库.lib")”编译命令或设置VC的lib文件路径。

仔细查看代码是构建了main函数的,但是如下代码:(红框位置)

书写错误导致了程序无法执行main()函数(未定义),将【mian】修改成【main】即可。

扩展资料:

C++函数分类:(main()函数是可执行程序的入口函数)

一、从用户使用的角度看,函数有两种:

1、标准函数,即库函数。这是由系统提供的。

2、用户自定义的函数。可以解决用户的专门需要。

二、从函数的形式看,函数分两类:

1、无参函数。printstar和print_message就是无参函数。在调用无参函数时,主调函数并不将数据传送给被调用函数,一般用来执行指定的一组操作。

2、有参函数。在调用函数时,在主调函数和被调用函数之间有数据传递。也就是说,主调函数可以将数据传递给被调用函数使用,被调用函数中的数据也可以带回来供主调函数使用。

参考资料:

百度百科--main()函数

C语言unresolved external symbol ?

没有问题,我复制进VS2005里面,但要在每个文件前面加上

#include"stdafx.h"再改一下你main函数中的错误就能运行了,但没有遇到你这里提示的错误

首先,你的main函数里

scanf(str,c);//这句是什么意思?看不明白,

因此我改为下面这样,程序正确运行。

scanf("%c",c);

VS2005必须加上include"stdafx.h"这个才能运行,其他版本不清楚。

解释下:我把你的程序分别复制到4个.cpp文件里的,只要把main函数里的scanf改一下就正确的,请问你是把程序写在同一个工程里面不同的.cpp文件中的吗?要写在cpp文件中才正确的

编译错误,如何解决error LNK2001: unresolved external symbol

导致“error LNK2001: unresolved external symbol”的原因为getStats此方法的链接库没有找到。很可能是工程中引用了第三方开源库或者自己编译生成的库,且只用了头文件,而没有将对应的lib文件路径加入到工程中。

具体解决方法为(此方法针对vs系列集成开发环境):

1.如果还未引入头文件,那么可以右键点击项目,然后点击“属性”。

2.点击“C/C++”,选择“常规”,然后在右侧的“附加包含目录”选择你的第三方库(或者自己编译生成库)的头文件目录。

3.点击“链接器”,在右侧的选项中选择“附加库目录”,最后引入你的第三方库(或者自己编译生成库)lib文件所在的目录。

4.点击“链接器”,在右侧的选项中选择“输入”,在“附加依赖项”后面点击三角形符号,选择“编辑”。

4.在新弹出来的对话框中,输入你的第三方库名称,即xxx.lib。

4.最后点击“确定”,重新编译即可。

unresolved external symbol 问题

为不确定的外部符号,如果连接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误消息。意思是:没有找到这个函数的实现。

连接错,这个_save_ts 肯定是声明,如果_save_ts 是一个函数的话,可能是你没有把.c或者.cpp文件加入工程。如果是一个全局变量,可能是你没有在.c或者.cpp文件中定义这个变量。

解决方法:

检查该函数的实现部分是否存在或包含该函数的lib文件是否正确的链接进代码中,查明错误后修正即可通过链接。

扩展资料

这个函数的.h文件格式如下:

1. 在keil 编译器中,extern这个关键字即使不声明,编译器也不会报错,且程序运行良好,但不保证使用其它编译器也如此。强烈建议加上,养成良好的编程规范。

2. .c文件中的函数只有其它模块使用时才会出现在.h文件中,像本地延时函数static void delay (uint us)即使出现在.h文件中也是在做无用功,因为其它模块根本不去调用它,实际上也调用不了它(static关键字的限制作用)。

3.注意本句最后一定要加分号”;”,相信有不少同学遇到过这个奇怪的编译器报错: error C132: 'xxxx': not in formal parameter list,这个错误其实是.h的函数声明的最后少了分号的缘故。

参考资料来源:百度百科-lnk2001

(责任编辑:IT教学网)

更多

推荐金山WPS文章