Visual Studio 2010为何无法生成exe?(C++)(无法解析的外部符号)
发布网友
发布时间:2022-05-10 14:29
我来回答
共2个回答
热心网友
时间:2023-10-11 19:48
产生这个问题可能的原因
产生这个问题的真正原因是c语言运行时找不到适当的程序入口函数,一般情况下,如果是windows程序,那么WinMain是入口函数,如果是dos控制台程序,那么main是入口函数,而如果入口函数指定不当,很显然c语言运行时找不到配合函数,它就会报告错误。
可能:
1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.
2. 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。
3.根本就没有WinMain或Main函数。
三, 解决方法
1.进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_CONSOLE, 添加_WINDOWS
2.进入project->setting->Link, 在Project options中将 /subsystem:console改为/subsystem:windows.
3.保存设置,Rebuild All.
VS2005中的设置请参考对应项进行设置
四,VS2005中的设置
1.菜单中选择 Project->Properties, 弹出Property Pages窗口
2.在左边栏中依次选择:Configuration Properties->C/C++->Preprocessor,然后在右边栏的Preprocessor Definitions对应的项中删除_CONSOLE, 添加_WINDOWS.
3.在左边栏中依次选择:Configuration Properties->Linker->System,然后在右边栏的SubSystem对应的项改为Windows(/SUBSYSTEM:WINDOWS)
4.Rebuild All.追问有些不懂,
可以用简洁的语言概括吗?
热心网友
时间:2023-10-11 19:49
试试 项目--->属性-->配置属性-->常规(字符集:使用多字符集)
如果不行的话,把代码贴出来看看追问不行啊。
代码是:
#include
using namespace std;
int main( )
{
int a,b,sum;
cin >>a >>b;
sum=a+b;
cout <<"a+b="<<sum <<endl;
return 0;
}
追答那么很有可能是你建的工程有问题,就是二楼cdinten所说的那样,你应该建立一个win32控制台(win32console application)而你很有可能建立的是win32工程。
所以你建一个控制台程序,然后输入代码试试
为什么vs2010无法解析外部符号?
无法解析的外部符号的几个原因:1、lib 文件未引入。在Visual Studio中"项目->属性->连接器->常规->附加库目录"写上.lib库所在文件夹;其次,"项目->属性->连接器->输入->附加依赖项"中写上.lib库的名称。使用#pragma comment(lib, “XXX.lib”)语句添加 lib引用。2、类方法的实现未加类标...
在vs2010中出现这样的无法解析的外部符号,怎么解决
错误 1 error LNK2001: 解析外部符号 "public: __cdecl App1::App::App(void)" (??0App@App1@@QE$AAA@XZ) c:\Users\sectumsampra\documents\visual studio 2013\Projects\App1\App1\XamlTypeInfo.g.obj App1 何处理
VS2010运行时无法启动程序系统找不到指定文件怎么回事
F:\Graphics\C++primer source code\opengl-red-book8-3\8-4image\Debug\8-4image.exe : fatal error LNK1120: 1 个无法解析的外部命令。原因就在于,这个文件本身是控制台形式的,而创建的项目是win32的。删除...\Microsoft Visual Studio 2010\VC\bin下面的那个cvtres.exe 。进入360毒霸,点击...
无法解析的外部符号的几种可能
3. 缺少 obj 文件。在项目里添加“包含路径”:C:/curl/lib/release-dll/*.obj。4.没有将项目需要的头文件、源文件都加入项目中,这个错误我犯了好几次。另外的一些解析:当用Visual Studio 链接程序时,往往会产生”无法解析的外部符号“这一种错误,但是我们只能看到错误产生的位置是因为使用了某...
无法解析的外部符号怎么解决
无法解析的外部符号可以使用lib库解决。第一种方法:首先,在Visual Studio中”项目->属性->连接器->常规->附加库目录”写上.lib库所在文件夹;其次,”项目->属性->连接器->输入->附加依赖项”中写上.lib库的名称。第二种方法:在.h或.cpp文件中用编译预处理指令#pragma comment(lib, “XXX....
Microsoft visual studio2013中写c语言时报错无法解析的外部符号和命...
这是链接器报出的错误,初学者常见于以下几种情况 1,没写main函数,或者拼写错了,比如mian 2,建立控制台程序(黑窗口)应实现main函数,建立windows GUI程序,应实现winMain函数,初学者往往出现建立工程类型错误的情况,比如错误的创建了图形界面的工程。3,自定义函数只有声明没实现,然后调用了这个...
vs2010不是内部或外部命令 也不是可运行的程序 我也是这个问题、你能...
vs2010不是内部或外部命令 也不是可运行的程序 我解决了。明明看见“(编译)ctrl+F7”成功了,还是出“不是内部或外部命令 也不是可运行的程序”。我先改了“右击-计算机-高级系统设置-环境变量-path”的值,改为 %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\system32\WBEM ,结果不行。按照网上的说法,将文...
无法解析的外部符号
$test@H@@@Z) ,该符号在函数 _main 中被引用 Debug/try2.exe : fatal error LNK1120: 2 个无法解析的外部命令 生成日志保存在“filec:\Documents and Settings\Administrator\My Documents\Visual Studio Projects\try2\try2\Debug\BuildLog”中 try2 - 3 错误,0 警告 --- 完成 --- 生成...
error LNK2019: 无法解析的外部符号
1. 在 Visual C++ .NET 2003 中,如果使用了 /clr 而未将 CRT 链接到可执行文件,将生成此错误。任何由编译器在未使用 /clr:initialAppDomain 时生成的对象代码都包含对 _check_commonlanguageruntime_version 函数的引用,该函数在 C 运行时库 (CRT) 中定义。如果应用程序在运行库的版本 1 上...
vs2010无法生成文件,也无法调试文件
楼主应该是建错了工程了,在建工程的时候应该选择控制台程序而不是Win32程序。