我正在尝试创建一个将在Windows Server上运行的64位应用程序(我正在测试Windows Server 2008 R2 64位)。我的开发环境是Windows 7 64位上的Visual C ++ 2010。现在,我正在尝试一个非常简单的“ hello world”控制台应用程序。在我的测试应用程序的属性中,平台为“活动(x64)”。这样可以很好地进行编译和链接,并且在我的Win7开发机器上也可以正常工作。程序运行时,我可以转到任务管理器,查看它是一个64位应用程序。
但是,当我在Windows 2008上运行该可执行文件时,我立即得到“应用程序无法正确启动(0xc000007b)”。我看到了一些有关运行Dependency Checker的建议。其结果是“错误:由于隐式相关模块中缺少导出功能,至少一个模块的导入无法解析。错误:找到了具有不同CPU类型的模块。”。所有相关模块(例如kernel32.dll,msvcr100.dll)的CPU类型均设置为x86。 只有我的主exe的CPU设置为x64。那是问题吗?为什么这可以在我的Win7系统上而不是Server 2008上运行,该如何解决该问题?