visual C++ 编译中一些问题及解答

使用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 *)就可以了

 

你可能感兴趣的:(C++,c,windows,command,编译器,preprocessor)