0

我正在使用 CMake 生成具有 C/C++ 项目的 VS2010 解决方案:本机控制台应用程序、静态库和本机 DLL;和 C# 项目:托管控制台应用程序和托管 DLL。
我正在使用带有include_external_msproject+CONFIGURE_FILE技术的CMake,如此所述。

但是,生成的解决方案不断跳过 C# 项目的构建。
之后,如果我“卸载项目”然后“重新加载项目”,项目现在可以正确构建。
每次我用 CMake 重新“生成”解决方案时,我都必须这样做。

为什么会这样?
有没有办法避免这种情况?

4

1 回答 1

2

这里有同样的问题。

我们的 cmake 生成的解决方案为 Win32 和 x64 平台创建了配置,而外部 C# 项目具有 x86 和 x64 平台。cmake生成解决方案后,所有项目(内部和外部)都设置为使用平台Win32。(检查解决方案配置管理器。)

要强制 cmake 将外部项目包含为 x86,请在调用 include_external_msproject 时指定 PLATFORM 参数。

include_external_msproject(TestApp "/TestApp/TestApp.csproj" PLATFORM x86)

(当然要确保您只为 x86 版本执行此操作......)

于 2015-02-06T10:54:39.307 回答