簡體   English   中英

C / C ++中的開源項目如何在沒有.sln / .project文件的情況下完成?

[英]How are open source projects in C/C++ carried out exactly without .sln/.project files?

似乎C / C ++中的大多數開源項目只提供源代碼,即nginx

這是一個約定,任何有興趣加入開發團隊的人都應該自己弄清楚.sln/.project文件是否合格?

大多數開源項目都來自Linux的計算方面。 因此,他們主要使用unix風格的構建工具,以及開源編譯器。

主構建工具是make ,它使用makefile來了解如何構建項目。 在Windows上,主要的開源編譯器是MinGW ,它是gcc的win32端口。 使用這些工具可以在unix和windows之間保留最多的常用內容。

請注意.sln文件特定於微軟編譯器,這些編譯器不能免費使用(而且成本相當高),它們不可移植,因此不適合多平台編程。

不,大多數開源項目都不使用MSVC解決方案,因為它們不可移植,而且在功能方面非常弱。

在大多數情況下,他們使用所謂的“構建系統”,如autotoolsCMakeSCons

這些構建系統包括以下信息:

  • 源代碼以及如何構建它
  • 應該進行各種系統檢查(比如查找各種第3部分庫)
  • 如何構建和運行單元測試
  • 如何安裝應用程序

它們還允許交叉編譯和打包等重要任務進行部署。

這些任務通過特定的構建系統腳本語言完成,可以提供很大的靈活性。

因此,這些構建系統通常比典型的“項目文件”更強大,並且它們通常與不同平台和操作系統上的多個編譯器一起使用。

一些構建系統(如CMake)允許作為生成MSVC解決方案的選項之一,以及構建應用程序的可選方法之一。

有些項目使用CMake ,它可以為您最喜歡的構建系統生成項目文件,但如上所述,即使項目是使用MSVC編譯器,MinGW + makefile構建的,也不需要使用.sln和pro文件。 scons,或CMake,或任何其他數量的腳本方法來調用正確的命令來編譯程序將工作得很好。

不要將IDE與編譯器混淆!

暫無
暫無

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

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