首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++和Fortran混合

C++和Fortran混合
EN

Stack Overflow用户
提问于 2017-01-04 15:58:54
回答 1查看 1.2K关注 0票数 11

是否有一种方法在混合C++和Fortran?时使用Clang编译器?

直到现在,我使用cmake和

代码语言:javascript
运行
复制
project(mixing CXX Fortran)

但是这触发了g++的使用。

- CXX编译器标识为GNU 6.2.0

我的项目与Fortran混合项目的CMakeLists.txt:

代码语言:javascript
运行
复制
cmake_minimum_required(VERSION 3.7.0)
project(mixing CXX Fortran)

# SET UP ROOT https://root.cern.ch/how/integrate-root-my-project-cmake
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} /opt/local/libexec/root6/etc/root/cmake)
find_package(ROOT REQUIRED COMPONENTS MATH MINUIT2)
include(${ROOT_USE_FILE})

include_directories(Experiment Theory ${ROOT_INCLUDE_DIRS})

add_executable(mixing main.cpp)

target_link_libraries(mixing ${ROOT_LIBRARIES})

无法工作,因为g++不能使用根库所需的Clang标志-stdlib=libc++

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-11 15:27:49

您可以通过更改编译器来重写c/c++编译器,在这种情况下,C/C++编译器是C或CXX。

  1. 可以将CCCXX环境变量设置为覆盖CMAKE_C_COMPILER /CMAKE_CXX_COMPILER的默认值:

CC=clang CXX=clang++ cmake

  1. 在调用cmake时,可以在命令行上设置这些内容:

cmake -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++

  1. 您还可以在cmake文件中直接设置这些内容:

set(CMAKE_C_COMPILER clang) set(CMAKE_CXX_COMPILER clang++)

但是,在使用任何项目/enable_language指令之前,请确保在cmake文件的顶部执行此操作。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41468128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档