主题:[讨论]怎么样在.net 2005 中编译 C程序
#include<stdio.h>
void main()
{
int i=1;
printf("%d",i);
}
[color=FF0000]我根据如下设置,还是不行!仍然显示如下错误。为什么?[/color]i1.c
Linking...
MSVCRT.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16
D:\我的文档\Visual Studio 2005\Projects\PureC\Release\PureC.exe : fatal error LNK1120: 1 unresolved externals
Build log was saved at "file://d:\我的文档\Visual Studio 2005\Projects\PureC\PureC\Release\BuildLog.htm"
PureC - 2 error(s), 0 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
集成开发环境的配置:
首先,在建立项目的时候,选择Win32控制台应用程序即可,但一定要选择“空项目”选项。这样就能防止Visual Studio向导为我们产生不必要的源文件(代码)和设置一些不必要的编译器选项。具体操作方法见如下图示:
选择“文件”-〉“新建”-〉“项目”:
在“新建项目”对话框中,在“项目类型”李表框中选择“Visual C++项目”,并在“模板”列表框中选择“Win32 控制项目”模板。别忘了在“名称”文本框中输入项目的名称,这里我起名为“PureC”:
点击“确定”按钮后,将弹出“Win32 应用程序向导”对话框,别急着点“确定”:
最初,在我看到这个对话框的时候,还真没注意过“应用程序设置”这个选项(可能是我太笨了罢-_-)。因此,我们要:
点击“应用程序设置”选项卡,选中“附加选项”中的“空项目”:
这一步是问题的关键。如果我们没有选择“空项目”,Visual Studio .NET的向导会为我们添加一些支持用于支持Windows应用程序的源文件(如“stdafx.h”、“stdafx.c”等),而且还会对编译器进行一些设置。尽管这些设置对于编写Windows API程序非常有用,但对于我们编写纯C程序来讲,是非常不利的。因此,我们有必要选择“空项目”。
点击“确定”按钮后,我们便得到了一个空的项目,观察一下“解决方案资源管理器”列表框,我们发现,已经没有了向导为我们产生的烦人的多余的源文件了。这时,我们需要手动地将我们的源文件添加到项目中。在这里我们添加一个新的源文件“PureC.c”。在“解决方案资源管理器”列表框中的“源文件”文件夹图表上单击右键,选择“添加”-〉“添加新项”:
在弹出的“添加新项”对话框中,选择“C++ 文件”即可。并在“名称”文本框中输入源文件的名称。注意,必须在文件名中写明扩展名“.c”,否则IDE将自动为该文件添加“.cpp”扩展名:
接下来,我们要设置一下项目的属性。在“解决方案资源管理器”的项目(这里是“PureC”)上单击右键,在弹出菜单中选择“属性”。将弹出“属性页”对话框。在左侧的树状视图中展开“C/C++”节点,选择“高级”节点;在右侧出现的列表框中,将“编译为”列表项改为“编译为 C 代码(/TC)”:
点击“确定”按钮,OK,大功告成了。
如要编译C++程序,将“编译为”列表项改为“编译为 C++ 代码(/TP)”即可。
void main()
{
int i=1;
printf("%d",i);
}
[color=FF0000]我根据如下设置,还是不行!仍然显示如下错误。为什么?[/color]i1.c
Linking...
MSVCRT.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16
D:\我的文档\Visual Studio 2005\Projects\PureC\Release\PureC.exe : fatal error LNK1120: 1 unresolved externals
Build log was saved at "file://d:\我的文档\Visual Studio 2005\Projects\PureC\PureC\Release\BuildLog.htm"
PureC - 2 error(s), 0 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
集成开发环境的配置:
首先,在建立项目的时候,选择Win32控制台应用程序即可,但一定要选择“空项目”选项。这样就能防止Visual Studio向导为我们产生不必要的源文件(代码)和设置一些不必要的编译器选项。具体操作方法见如下图示:
选择“文件”-〉“新建”-〉“项目”:
在“新建项目”对话框中,在“项目类型”李表框中选择“Visual C++项目”,并在“模板”列表框中选择“Win32 控制项目”模板。别忘了在“名称”文本框中输入项目的名称,这里我起名为“PureC”:
点击“确定”按钮后,将弹出“Win32 应用程序向导”对话框,别急着点“确定”:
最初,在我看到这个对话框的时候,还真没注意过“应用程序设置”这个选项(可能是我太笨了罢-_-)。因此,我们要:
点击“应用程序设置”选项卡,选中“附加选项”中的“空项目”:
这一步是问题的关键。如果我们没有选择“空项目”,Visual Studio .NET的向导会为我们添加一些支持用于支持Windows应用程序的源文件(如“stdafx.h”、“stdafx.c”等),而且还会对编译器进行一些设置。尽管这些设置对于编写Windows API程序非常有用,但对于我们编写纯C程序来讲,是非常不利的。因此,我们有必要选择“空项目”。
点击“确定”按钮后,我们便得到了一个空的项目,观察一下“解决方案资源管理器”列表框,我们发现,已经没有了向导为我们产生的烦人的多余的源文件了。这时,我们需要手动地将我们的源文件添加到项目中。在这里我们添加一个新的源文件“PureC.c”。在“解决方案资源管理器”列表框中的“源文件”文件夹图表上单击右键,选择“添加”-〉“添加新项”:
在弹出的“添加新项”对话框中,选择“C++ 文件”即可。并在“名称”文本框中输入源文件的名称。注意,必须在文件名中写明扩展名“.c”,否则IDE将自动为该文件添加“.cpp”扩展名:
接下来,我们要设置一下项目的属性。在“解决方案资源管理器”的项目(这里是“PureC”)上单击右键,在弹出菜单中选择“属性”。将弹出“属性页”对话框。在左侧的树状视图中展开“C/C++”节点,选择“高级”节点;在右侧出现的列表框中,将“编译为”列表项改为“编译为 C 代码(/TC)”:
点击“确定”按钮,OK,大功告成了。
如要编译C++程序,将“编译为”列表项改为“编译为 C++ 代码(/TP)”即可。