2012-10-13 115 views
13

我想在Linux下使用GCC編譯我的Visual Studio Solution,其中有三個項目。該解決方案包含兩個使用這些DLL的DLL項目一個應用程序(.EXE)項目。源代碼不包含任何Windows依賴項。從Visual Studio生成Make文件(適用於GCC)解決方案

如何將解決方案(包含3個項目)轉換成可以在Linux中使用GCC編譯的文件。

是否有任何工具將Visual Studio解決方案(項目)轉換爲文件/ s。

在Visual Studio版本是Visual Studio 2008的

+4

使用[make-it-so](http://code.google.com/p/make-it-so/),也[請參閱此處的答案](http: //stackoverflow.com/questions/6649606/vcxproj-to-cmake)。 –

+3

是否適合VS2013使用? – remus

回答

1

首先,Linux的不具有可動態鏈接DLL,它已經共享對象,有不同的語義。閱讀Levine的Linkers & Loaders書多,而且Program Library Howto

然後,我認爲你不應該試圖您VS項目轉換成Makefile,你應該編寫自己的好Makefile

不要忘記設置您Makefile使-Wall傳遞給GCC(也許還-std=gnu99-g如果你想調試信息,很可能通CFLAGSCXXFLAGS)。

除非您的程序是一百萬行代碼應用程序,否則在編寫自己的Makefile時不會有太多麻煩。我強烈建議學習使用GNU make並閱讀它的文檔,這在我看來寫得很好(帶有一些教程部分)。你可以看一下make -p的輸出,它給出了GNU make的「內建知識」。

您也可以查看現有的免費軟件Linux應用程序並研究它們的Makefile

順便說一句,如果你很難調試你的makefile,使用remake

不要以「將我的應用程序轉換爲Linux」的方式來思考,更應該從「編寫Linux應用程序」的角度來思考。

請注意,有些框架(特別是Qt)可以將軟件移植到Linux,Windows和MacOS上。你甚至可以將它們用於非GUI應用程序。

不要忘記閱讀材料,如advanced linux programmingadvanced unix programming

相關問題