似乎C/C++中的大多數開源項目只提供源代碼, nginxC/C++中的開源項目如何在沒有.sln/.project文件的情況下執行?
這是一個約定,任何有興趣加入開發團隊的人都應該自己計算出.sln/.project
文件的資格嗎?
似乎C/C++中的大多數開源項目只提供源代碼, nginxC/C++中的開源項目如何在沒有.sln/.project文件的情況下執行?
這是一個約定,任何有興趣加入開發團隊的人都應該自己計算出.sln/.project
文件的資格嗎?
大多數開源項目都來自linux的計算方面。因此,他們主要使用unix風格的構建工具以及開源編譯器。
主要構建工具是make
,它使用makefile
知道如何構建項目。在Windows上,主要的開源編譯器是MinGW
,它是一個win32端口gcc
。這些工具的使用允許在unix和windows之間保留最多的常見事物。
請注意.sln文件是特定於不能自由使用(且代價高昂)的微軟編譯器,它們不可移植,因此不適合多平臺編程。
Visual Studio的Express版本是完全免費的。 – nos 2010-05-30 08:36:36
我知道使用MSVC命令行編譯器和鏈接器的人使用GNU風格的Makefile。 – 2010-05-30 08:36:43
因此,每次我想測試時,我都要重建整個項目,更不用說調試了...那太可怕了...... – httpinterpret 2010-05-30 08:36:44
不,大多數開源項目都不使用MSVC解決方案,因爲它們不具有可移植性,而且功能非常薄弱。
在大多數情況下,他們使用所謂的「構建系統」,如autotools,CMake或SCons。
這些構建系統包括信息有關:
它們還允許像跨COM重要任務用於部署的編譯和打包。
這些任務都是通過特定的構建系統腳本語言完成的,可以讓您有更大的靈活性。
因此,這些構建系統通常比典型的「項目文件」功能強大得多,它們通常在不同的平臺和操作系統上與多個編譯器一起工作。
某些構建系統(如CMake)允許生成MSVC解決方案的一個選項以及構建應用程序的可選方法之一。
有些項目使用CMake,它可以爲您最喜歡的構建系統生成項目文件,但是如上所述,即使項目是使用MSVC編譯器構建的,MinGW也不需要使用.sln和pro文件+ makefile或scons或CMake,或任何其他數量的scripty方法來調用正確的命令來編譯程序將工作得很好。
不要混淆IDE和編譯器!
-1在Adrien Plisson的帖子中留言。 SO不適合Windows和Linux之間的戰鬥。無論如何Linux是優越的;) – qrdl 2010-05-30 09:26:11