使用visual c++ 6.0编译的时候弹出这个错误
1) error LNK2001: unresolved external symbol _WinMain@16
一,问题描述
error LNK2001: unresolved external symbol _WinMain@16debug/main.exe:fatal error LNK 1120:1 unresolved externals error executing link.exe;
二,产生这个问题可能的原因
1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而VC的参数设置里面使用了WinMain.
2. 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的,也就是vc的参数设置里是认为main 入口的。
说来说去就是一个匹配问题,因为所有的函数都是从main 或者WinMain入口的,但是针对某一个函数来说,入口是唯一的,并且要和编译器中的设置相同,这个问题就是设置不同导致的。
三, 解决方法
1.进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_WINDOWS, 添加_CONSOLE
2.进入project->setting->Link, 在Project options中将/subsystem:windows.改为/subsystem:console
3.保存设置,Rebuild All.
主要区分一个是window的函数,一个是控制台console的
2) Command line error D2027 : cannot execute 'c1'
如果执行的文件后缀名为.c,改成.cpp就可以了
3)error C2664: 'strncpy' : cannot convert parameter 1 from 'unsigned char [16]' to 'char *'
函数strncpy在使用的时候,如果两个参数都是char的,就给出这样的错误,只需要把第一个强制转换 (char *)就可以了