繁体   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