首先,Linux的不具有可動態鏈接DLL,它已經共享對象,有不同的語義。閱讀Levine的Linkers & Loaders書多,而且Program Library Howto
然後,我認爲你不應該試圖您VS項目轉換成Makefile
,你應該編寫自己的好Makefile
。
不要忘記設置您Makefile
使-Wall
傳遞給GCC(也許還-std=gnu99
和-g
如果你想調試信息,很可能通CFLAGS
或CXXFLAGS
)。
除非您的程序是一百萬行代碼應用程序,否則在編寫自己的Makefile
時不會有太多麻煩。我強烈建議學習使用GNU make並閱讀它的文檔,這在我看來寫得很好(帶有一些教程部分)。你可以看一下make -p
的輸出,它給出了GNU make
的「內建知識」。
您也可以查看現有的免費軟件Linux應用程序並研究它們的Makefile
。
順便說一句,如果你很難調試你的makefile,使用remake。
不要以「將我的應用程序轉換爲Linux」的方式來思考,更應該從「編寫Linux應用程序」的角度來思考。
請注意,有些框架(特別是Qt)可以將軟件移植到Linux,Windows和MacOS上。你甚至可以將它們用於非GUI應用程序。
不要忘記閱讀材料,如advanced linux programming和advanced unix programming
使用[make-it-so](http://code.google.com/p/make-it-so/),也[請參閱此處的答案](http: //stackoverflow.com/questions/6649606/vcxproj-to-cmake)。 –
是否適合VS2013使用? – remus