簡體   English   中英

我可以使用xbuild在Linux上編譯Visual C ++項目嗎?

[英]Can I compile a Visual C++ project on Linux using xbuild?

我有一個現有的項目,我使用Visual C ++ 2008和Debian Linux在Windows上編譯。 該項目使用標准的Visual C ++ .vcproj文件,以及一些.cpp.h文件。 它不依賴於任何Windows特定的東西。 只是簡單的C ++。

它在Linux上編譯和運行良好,使用自制工具讀取.vcproj文件以生成Makefile ,該Makefilemake一起使用以使用g++編譯和鏈接所有文件。

麻煩的是,使用Visual C ++ 2010(和2012),項目文件的格式已經改變。 甚至名稱也已從.vcproj更改為.vcxproj 我的自制工具無法讀取此新項目文件以生成Makefile

我想知道xbuild是否能夠編譯我的Linux可執行文件,而不是升級自制工具來支持新的項目文件?

我首先嘗試編譯自己的(VC ++ 2008)項目,但xbuild抱怨我的項目is a VS2003 project, which is not supported by xbuild. 但是當谷歌搜索這個問題時,我發現xbuild應該支持VS2005項目文件。 還有一些對mdtool引用來支持這些舊的項目文件,但我現在似乎已經集成到xbuild了。

此外,我嘗試編譯從MSDN站點獲得的Visual C ++ 2010示例(HuoChess)。 結果是

/Microsoft.Cpp.Default.props: Project file could not be imported, it was being
imported by [...] /HuoChessConsole/HuoChessConsole.vcxproj: Imported project:
"//Microsoft.Cpp.Default.props" does not exist.`

現在,這看起來像項目文件需要一些MicrosoftCpp編譯器規則定義。 我應該偽造這些定義來使用gcc嗎? 我怎樣才能做到這一點?

我想用xbuild做什么?

沒有理由重新發明輪子 - 只需使用gyp。 “GYP可以生成您的項目”或makefiles。 http://code.google.com/p/gyp/

有一個項目GCCBuild ,您可以使用它在Linux中構建vcxproj項目。 它只使用相同的vcxproj,但使用GCC進行編譯和構建。 那里也有很多例子。

PS。 我是該項目的作者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM