主要与wWinMain

时间:2013-06-18 20:52:40

标签: winapi nvidia directx-11 direct3d11

摘要:我正在尝试在Windows 8上的Visual Studio 2012中编译NVIDIA SDK应用程序,并收到错误消息:FXC : error X3501: 'main': entrypoint not found。我是Windows编程的新手,并试图弄清楚这意味着什么。

详情

我正在尝试编译Multi-View Soft Shadows NVIDIA SDK应用。下载后我有一个vcproj文件。我在Windows 8上的Visual Studio 2012中打开了它,并在转换过程中遇到了一些警告,但它似乎正确地打开了项目。

但是,当我构建项目时,我收到以下错误:FXC : error X3501: 'main': entrypoint not found

起初我认为这可能是因为应用程序中没有main函数。但后来我找到了wWinMain我认为应该在某些Windows应用程序中替换main。所以我认为源代码是正确的,但也许有一些需要更改Visual Studio 2012的设置。但是搜索该错误消息并没有回答我的问题,所以我想知道是否有人可以解释错误的原因是什么以及有关如何解决它的任何建议。

2 个答案:

答案 0 :(得分:4)

这不是C ++问题...着色器编译器fxc.exe正在着色器代码中查找名为main的函数。它没有找到它并因此抛出错误。右键单击您的HLSL文件,然后转到属性 - >配置属性 - >一般。应该有一个项目类型字段。将其从HLSL编译器更改为不参与构建。这应该会阻止HLSL编译器出现并为您提供这些错误。

答案 1 :(得分:1)

您需要将应用程序的子系统从CONSOLE更改为WINDOWS(在项目属性 - >链接器 - >系统 - >>子系统中)。之后,入口点将从标准C / C ++ main更改为Windows特定的wWinMain