C / C ++中的开源项目如何在没有.sln / .project文件的情况下完成?

时间:2010-05-30 08:27:16

标签: c++ c visual-studio open-source

似乎C / C ++中的大多数开源项目只提供源代码,即。 nginx

这是一个约定,任何有兴趣加入开发团队的人都应该找出.sln/.project文件本身才有资格吗?

3 个答案:

答案 0 :(得分:7)

大多数开源项目都来自Linux的计算方面。因此,他们主要使用unix风格的构建工具,以及开源编译器。

主构建工具是make,它使用makefile来了解如何构建项目。在Windows上,主要的开源编译器是MinGW,它是gcc的win32端口。使用这些工具可以在unix和windows之间保留最多的常用内容。

请注意.sln文件特定于微软编译器,这些编译器不能免费使用(而且成本相当高),它们不可移植,因此不适合多平台编程。

答案 1 :(得分:4)

不,大多数开源项目都不使用MSVC解决方案,因为它们不可移植,而且在功能方面非常弱。

在大多数情况下,他们会使用所谓的“构建系统”,例如autotoolsCMakeSCons

这些构建系统包含以下信息:

  • 源代码以及如何构建它
  • 应该进行的各种系统检查(比如查找各种第三方库)
  • 如何构建和运行单元测试
  • 如何安装应用程序

它们还允许交叉编译和打包等重要任务进行部署。

这些任务通过特定的构建系统脚本语言完成,使您具有很大的灵活性。

因此,这些构建系统通常比典型的“项目文件”和它们更强大 通常适用于不同平台和操作系统上的多个编译器。

一些构建系统(如CMake)允许作为生成MSVC解决方案的选项之一,以及构建应用程序的可选方法之一。

答案 2 :(得分:4)

有些项目使用CMake,它可以为您最喜欢的构建系统生成项目文件,但如上所述,即使使用MSVC构建项目,也不需要使用.sln和pro文件。编译器,MinGW + makefile,或scons,或CMake,或任何其他数量的脚本方法来调用正确的命令来编译程序都可以正常工作。

不要将IDE与编译器混淆!