![](/img/trans.png)
[英]Easiest way to “port” a Visual Studio C++ project to compile on Linux?
[英]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
,該Makefile
與make
一起使用以使用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.`
現在,這看起來像項目文件需要一些Microsoft的Cpp
編譯器規則定義。 我應該偽造這些定義來使用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.