Kno*_*dge 11 c++ fortran cmake clang
有没有办法在混合使用C++和Fortran时使用Clang编译器?
到现在为止我使用cmake
project(mixing CXX Fortran)
Run Code Online (Sandbox Code Playgroud)
但这会触发使用g++.
- CXX编译器标识是GNU 6.2.0
我的项目的CMakeLists.txt与Fortran混合:
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})
Run Code Online (Sandbox Code Playgroud)
不工作,因为g ++不能使用-stdlib=libc++ROOT库所需的Clang标志.
您始终可以通过更改CMAKE_<LANG>_COMPILER来覆盖 c/c++ 编译器,其中 <LANG> 在您的情况下是 C 或 CXX。
CC变量CXX来覆盖 CMAKE_C_COMPILER / CMAKE_CXX_COMPILER 的默认值:CC=clang CXX=clang++ cmake
cmake -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++
set(CMAKE_C_COMPILER clang)
set(CMAKE_CXX_COMPILER clang++)
不过,请确保在使用任何 project/enable_language 指令之前在 cmake 文件的最顶部执行此操作。
| 归档时间: |
|
| 查看次数: |
699 次 |
| 最近记录: |