如何使用VS2008编译二进制文件不需要.NET?

时间:2009-06-15 18:55:36

标签: .net c++ c

我正在尝试使用VS2008编译一个非常简单的C应用程序。我的问题是生成的二进制文件要求系统安装.NET。项目中没有实际代码使用.NET功能,但是在没有.NET的任何系统上执行时会出现错误。

那么,无论如何使用VS2008进行编译,以便生成的二进制文件可以在没有.NET的系统上运行吗?

4 个答案:

答案 0 :(得分:3)

在“项目属性”对话框中,转到“配置属性”|一般。 “公共语言运行时支持”选项应设置为“无公共语言运行时支持”。然后重建。

编辑:还要检查名称以CLR开头的高级链接器选项。您不应该看到这3个项目的任何/ CLR *设置。如果您使用的是非默认清单,请确保它不会声明任何CLR依赖项。

答案 1 :(得分:3)

只需创建一个C / C ++项目。在“新建项目”对话框中,在Visual C ++下,您有许多选项。 CLR子类别中的所有子类都是.NET(C ++ / CLI),而Win32(以及“空项目”)是本机C / C ++项目。

您可以在项目属性下的现有项目中更改此设置 - >一般 - >公共语言运行时支持。

修改

问题可能实际上不是.NET,而是C运行时。在这种情况下,请在项目属性下指定非DLL版本 - > C / C ++ - >代码生成 - >运行时库。

(如果是这种情况,你可以通过告诉我们你知道的内容,而不是你对这个问题的假设,让每个人都变得容易多了。)) / p>

答案 2 :(得分:1)

正如其他人所说,将“公共语言运行时支持”选项设置为“无公共语言运行时支持”。你说没有解决它,所以.NET绝不是缺少的依赖。看看免费的Dependency Walker工具。这将显示您的应用所依赖的所有库。

答案 3 :(得分:0)

创建一个win32控制台项目。