TravisCI中混合C/C++项目的.travis.yml语言配置选择问题
混合C/C++项目的Travis CI语言配置选择
嘿,这个问题我之前在项目里碰到过好几次,给你几个实用的建议:
优先选择
language: cpp
Travis的C环境默认就包含了完整的C编译工具链(比如GCC、Clang这类主流编译器,本来就同时支持C和C编译),所以选这个配置的话,你不用额外折腾,直接就能同时编译项目里的C和C++代码,省心又高效。language: c也能工作,但没必要
如果你选C语言环境,理论上也能编译C代码,但可能需要手动安装C相关的依赖包(比如G++),还要调整编译选项,反而多了不必要的步骤,完全是舍近求远。别选
language: generic除非万不得已
这个通用选项意味着Travis不会帮你预设任何编译环境,你得自己手动安装所有需要的编译器、依赖,配置起来非常繁琐,一般只用于特别小众的场景,混合C/C++项目完全没必要用这个。
另外补充个小技巧:不管你选哪种语言配置,都可以在.travis.yml里明确指定编译器,比如:
compiler: gcc # 或者 compiler: clang
这些编译器本身就同时支持C和C++编译,完全能覆盖你的项目需求。
内容的提问来源于stack exchange,提问作者BeeOnRope




