在混合使用C++和Fortran的情况下,有没有办法使用Clang编译器?
我目前是用cmake来进行编译。
project(mixing CXX Fortran)
但这会触发使用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})
无法工作,因为g++无法使用ROOT库所需的Clang标志-stdlib=libc++
。
cmake ..
。你所说的工具链是什么意思? - DrDirk-DCMAKE_CXX_COMPILER=clang++
强制 cmake 使用 clang++,目前看起来运行良好。 - DrDirk