Как мне указать, какой компилятор вызывается при запуске cmake + make? - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь скомпилировать проект c ++ с помощью cmake и make на OSX, но похоже, что make использует CXX или clang, когда я хочу использовать g ++ (g cc), поэтому я могу следить за ответом здесь, чтобы сообщить компилятор, где найти файлы заголовков (#includes) для tbb, используемые в проекте: Нужна помощь в работе Intel TBB?

список пивоварен показывает, что у меня есть последние версии cmake, make , g cc и swig установлен.

Вот проект, который я пытаюсь скомпилировать для справки: https://github.com/nmoehrle/mvs-texturing/blob/master/README.md

1 Ответ

0 голосов
/ 01 июня 2020

Я наткнулся на этот связанный ответ и смог запустить проект! MacOS, CMake и OpenMP

Я обновил cmakelists.txt следующими командами, чтобы установить llvm в качестве компилятора. Обратите внимание: мне нужно было обновить путь к файлу llvm, чтобы он соответствовал установленному мной номеру версии.

set(CMAKE_C_COMPILER "/usr/local/Cellar/llvm/5.0.1/bin/clang")
set(CMAKE_CXX_COMPILER "/usr/local/Cellar/llvm/5.0.1/bin/clang++")
set(OPENMP_LIBRARIES "/usr/local/Cellar/llvm/5.0.1/lib")
set(OPENMP_INCLUDES "/usr/local/Cellar/llvm/5.0.1/include")

Тогда у меня также были проблемы с OpenMP, поэтому я добавил этот раздел, чтобы настроить каталоги включения OpenMP и каталоги ссылок .

if (OPENMP_FOUND)
    include_directories("${OPENMP_INCLUDES}")
    link_directories("${OPENMP_LIBRARIES}")
    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif(OPENMP_FOUND)

Я начинающий разработчик и sh Я лучше понимал, почему это сработало, но это устранило мои проблемы!

...