CMAKE_FC_COMPILER与CMAKE_Fortran_COMPILER:哪个正确?差异何在?
CMAKE_FC_COMPILER 与 CMAKE_Fortran_COMPILER 的区别与正确性
这两个CMake变量都是正确且有效的,CMake内部对二者做了关联同步处理,核心功能完全一致——都是用来指定Fortran编译器的路径。
具体差异主要体现在命名和使用惯例上:
- 命名规范:
CMAKE_Fortran_COMPILER是CMake官方文档明确推荐的标准命名,遵循了CMake针对编程语言编译器变量的统一规则(比如C语言对应CMAKE_C_COMPILER,C++对应CMAKE_CXX_COMPILER),名称更直观易读;CMAKE_FC_COMPILER是简写形式,其中FC是“Fortran Compiler”的缩写。 - 等价性:设置其中任意一个变量,另一个会被自动同步为相同的值。比如执行
set(CMAKE_FC_COMPILER /bin/aarch64-none-linux-gnu-gfortran)后,CMAKE_Fortran_COMPILER的值也会变成该路径,反之亦然。 - 使用场景:官方优先推荐使用
CMAKE_Fortran_COMPILER,能让脚本更具规范性和可读性;而CMAKE_FC_COMPILER属于历史沿用的简写用法,在一些社区示例或老项目脚本中较为常见,同样能正常完成编译器指定的工作。
内容的提问来源于stack exchange,提问作者mu5e
相关产品推荐
相关产品推荐

