我正在使用CMake为两个C / C ++项目生成VS2010解决方案:本机控制台应用程序,静态库和本机DLL;和C#项目:托管控制台应用程序和托管DLL
我使用的是include_external_msproject
+ CONFIGURE_FILE
技术的CMake,例如here
但是,最终的解决方案不断跳过C#项目的构建 在this之后,如果我“卸载项目”然后“重新加载项目”,项目现在正确构建 每次我用CMake“生成”解决方案时,我都必须这样做。
为什么会发生这种情况? 有办法避免这种情况吗?
答案 0 :(得分:2)
这里有同样的问题。
我们的cmake生成的解决方案为Win32和x64平台创建了配置,而外部C#项目则具有x86和x64平台。在cmake生成解决方案后,所有项目(内部和外部)都设置为使用平台Win32。 (检查解决方案Configuration Manager。)
要强制cmake将外部项目包含为x86,请在调用include_external_msproject时指定PLATFORM参数。
include_external_msproject(TestApp "/TestApp/TestApp.csproj" PLATFORM x86)
(当然,确保您只为x86版本执行此操作...)