如何 CMake 选择 gcc 和 g++ 编译?

我是新的b。 CMake, 而且我对该项目感兴趣 C++/C 在环境中 LINUX, 作为 CMake 可以选择之间的编译器 gcc 和 g++. 更具体地说,我的问题如下:

如果项目由文件组成 .c 和 .cpp, 这是真的吗
文件 .c 将被编制 gcc, 和文件 .cpp 将
挂 g++?

如果项目仅包含 c 文件或CPP文件,然后是什么
默认编译操作 CMake? 是否有可能改变它?
已邀请:

窦买办

赞同来自:

简而言之,是的。

你几乎可以破坏一切。 有与语言绑定扩展的标志和变量,然后用编译器参数进行语言/定义工具和装配目标的可执行文件。

检查以下链接到文档。 这些是一些令人愉快的短篇读数。

https://gitlab.kitware.com/cma ... ation
http://www.cmake.org/cmake/hel ... SIONS
http://www.cmake.org/cmake/hel ... GUAGE
笔记: wiki 可能已经过时,但他必须在一个重要和教育问题的情况下进行。

PS. 有一系列相关的选项。 对于更长的阅读,您可以查看以下文档部分:
http://www.cmake.org/cmake/hel ... Files

http://www.cmake.org/cmake/hel ... uages
. 2. 和 3. 从这些部分进行。

风见雨下

赞同来自:

据我所知, CMake 它只看起来只对文件扩展名。 因此,如果您重命名您的文件 .c 在 .cpp, 据我所知,他将被编制 g++.

这种行为很容易改变。 CMake 使用环境变量来查看要使用的编译器。 例如,如果要更改编译器,例如, clang 和 clang++, 你可以做到

出口 CC=clang
出口 CXX=clang++

在跑步之前 cmake.

要回复问题请先登录注册