相关疑难解决方法(0)

用 clang 和 gfortran 编译

我正在尝试编译一个我最近开始工作的项目,并被要求在 clang 而不是 gcc 中编译代码。该项目有一个 CMake 文件,我尝试使用

cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ../src
Run Code Online (Sandbox Code Playgroud)

但是抛出了一个错误,我认为这是因为 clang 没有 Fortran 编译器,并且项目的一部分有 Fortran 代码。有没有办法让它在编译 Fortran 代码时使用 gfortran(以前在使用 gcc 时使用),其余部分使用 clang/clang++?

我认为相关的 cmake 文件部分是:

enable_language(Fortran)

string(REGEX MATCH gfortran HAVE_GFORTRAN ${CMAKE_Fortran_COMPILER})
string(REGEX MATCH xlf HAVE_XLF ${CMAKE_Fortran_COMPILER})
string(REGEX MATCH pg77 HAVE_PG77 ${CMAKE_Fortran_COMPILER})
string(REGEX MATCH g77 HAVE_G77 ${CMAKE_Fortran_COMPILER})
string(REGEX MATCH ifort HAVE_ifORT ${CMAKE_Fortran_COMPILER})
string(REGEX MATCH f77 HAVE_F77 ${CMAKE_Fortran_COMPILER})

if(HAVE_GFORTRAN)
  set(F_LIBRARY gfortran CACHE string "fortran library")
  find_library(F_LIBRARY NAMES gfortran)
  set(FORTRAN_UNDERSCORE end CACHE string "What type of fortran underscore style - linux,end,none") …
Run Code Online (Sandbox Code Playgroud)

c++ fortran cmake clang gfortran

1
推荐指数
1
解决办法
3586
查看次数

标签 统计

c++ ×1

clang ×1

cmake ×1

fortran ×1

gfortran ×1