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文件中才正确的
VC++中这个错误: unresolved external symbol
unresolved external symbol 这类错误是编译器找不到指定的符号定义。
它是在连接的时候出现的,有两种可能:1、你写的这个函数只有省名,没有定义,
2、这个函数是动态连接库导出的函数,而你没有连接它的lib库文件可以用“#pragma comment(lib, "那个库.lib")”编译命令或设置VC的lib文件路径。
按你所说的应该是自己写的函数,你确信你对这两个函数做了定义(而不是声明,也就是有这两个函数的实现代码)并包含了这个函数的头文件.
方便的话把与这个函数相关的代码贴出来吧
我在VC++上进行window编程时出现如下问题unresolved external symbol _main.请问是什么原因?
C/C++控制台程序都是从main函数开始执行的,而窗口界面的GUI程序则是从WinMain开始执行。
我估计可能是因为链接器的子系统选项被改成了
控制台(/SUBSYSTEM:CONSOLE)
所以链接器以为此程序是控制台程序,查找main入口,显然会出错。
解决方法:
将链接器的子系统选项改为:
Windows (/SUBSYSTEM:WINDOWS)
如果是VS.NET 2003
选择 项目->属性->配置属性->链接器->System
将子系统改为:
Windows (/SUBSYSTEM:WINDOWS)
编译错误,如何解决error LNK2001: unresolved external symbol
导致“error
LNK2001:
unresolved
external
symbol”的原因为getStats此方法的链接库没有找到。很可能是工程中引用了第三方开源库或者自己编译生成的库,且只用了头文件,而没有将对应的lib文件路径加入到工程中。
具体解决方法为(此方法针对vs系列集成开发环境):
1.如果还未引入头文件,那么可以右键点击项目,然后点击“属性”。
2.点击“C/C++”,选择“常规”,然后在右侧的“附加包含目录”选择你的第三方库(或者自己编译生成库)的头文件目录。
3.点击“链接器”,在右侧的选项中选择“附加库目录”,最后引入你的第三方库(或者自己编译生成库)lib文件所在的目录。
4.点击“链接器”,在右侧的选项中选择“输入”,在“附加依赖项”后面点击三角形符号,选择“编辑”。
4.在新弹出来的对话框中,输入你的第三方库名称,即xxx.lib。
4.最后点击“确定”,重新编译即可。
C语言 error LNK2001: unresolved external symbol 问题:编译没问题 ,但是运行不了,怎么解决?
1、首先你这段代码没用main函数,没有main函数是不能直接运行的。
2、第二,你的错误是因为
extern char String[M]; /* 输入字符串 */
extern short Ptr;/* 字符数组指针 */
extern NODE *Root;
都用了extern,这样连接器会认为你的变量是在其他文件定义的,而你又没有包含其他文件,所以会出错,把extern去掉就好了。
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 _WinMain@16
这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。
解决方法:
1.进入project->setting->c/c++, 在category(第一行)中选择preprocessor,在processor definitions中删除_WINDOWS, 添加_CONSOLE
2.进入project->setting->Link, 在Project options中将/subsystem:windows.改为/subsystem:console
3.保存设置,Rebuild All.
Keil 中unresolved external symbol的问题,求解???
extern应该在主函数累声明不应该在主函数外声明,你要先在内部声明了才能在外不用,而你内部并没有声明所以这三个变量任然是局部变量。而在外部进行声明时自然就找不到main内的这三个变量,像这样修改试试(main内部):extern sbit rs= P3^3,rw = P3^4,sbit en = P3^5;并去掉外部的extern声明其实我觉得直接把端口定义写在main函数外就行了,没必要这么麻烦,最好写在头文件里面。 重复定义的解决可以在头文件中加入标签定义,格式为:#ifndef _portdef_#define _portdef_sbit rs= P3^3;sbit rw = P3^4;sbit en = P3^5;#endif