2013-04-07 72 views
0

我正在使用CMake生成VS2010解決方案,包括C/C++項目:本地控制檯應用程序,靜態庫和本地DLL;和C#項目:託管控制檯應用程序和託管DLL。
我使用CMake的與include_external_msproject + CONFIGURE_FILE技術如例如描述hereCMake-VS2010解決方案中的C#項目必須卸載/重新加載以避免被忽略

然而,所得溶液保持跳過C#項目的生成。
this,如果我「卸載項目」,然後選擇「刷新工程」項目建設,現在正確。
我每次重新用CMake「生成」解決方案時都必須這樣做。

這是怎麼發生的?
有沒有辦法避免這種情況?

+0

有項目和解決方案文件已經重裝後的改變,你可以做一個文件進行比較,看看有什麼已經變了? – wimh 2013-04-07 08:39:37

+0

是的,重新加載會改變'.sln'文件。在「Global Plaction」(ProjectConfigurationPlatforms)中添加'Mixed Platforms'行' – 2013-04-07 12:45:16

+0

當你重建所有行時,它會被跳過嗎?或者只是一個正常的構建? – 2013-04-08 16:13:23

回答

2

這裏有同樣的問題。

我們cmake的生成解決方案創建的配置適用於Win32和x64平臺,同時外部C#項目有x86和x64平臺。在cmake生成解決方案後,所有項目(內部和外部)都設置爲使用平臺Win32。 (檢查解決方案配置管理器)。

要強制cmake的,包括外部項目爲86,調用include_external_msproject時指定的平臺參數。

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

(當然,確保你只是這樣做,x86版本...)

相關問題