从brew使用LLVM 5.0.0时出现Cmake错误

问题描述 投票:0回答:1

我正在尝试使用Homebrew提供的LLVM 5.0.0(MacOS High Sierra 10.13.3)。 LLVM安装在/usr/local/Cellar/llvm/5.0.0/下的我的机器上

现在,在我的项目中,我在CMakeLists.txt中有以下几行:

# Find the LLVM library
find_package( LLVM 5.0.0 REQUIRED )
include_directories( "${LLVM_INCLUDE_DIRS}" )
link_directories(${LLVM_LIBRARY_DIRS})
message(STATUS "LLVM include dirs: ${LLVM_INCLUDE_DIRS}")

如果我在没有任何参数的情况下运行CMake,我得到:

CMakeLists.txt上的CMake错误:74(find_package):由于未在CMAKE_MODULE_PATH中提供“FindLLVM.cmake”,该项目已要求CMake查找“LLVM”提供的包配置文件,但CMake没有找到。

找不到“LLVM”(请求的版本5.0.0)提供的包配置文件,其中包含以下任何名称:

LLVMConfig.cmake
llvm-config.cmake

将“LLVM”的安装前缀添加到CMAKE_PREFIX_PATH或将“LLVM_DIR”设置为包含上述文件之一的目录。如果“LLVM”提供单独的开发包或SDK,请确保它已安装。

它告诉我它找不到LLVM。所以,我将路径传递给LLVM_DIR,如下所示:

cmake .. -DLLVM_DIR=/usr/local/Cellar/llvm/5.0.0/share/cmake/modules/

我希望一切都能奏效。相反,我收到以下错误:

CMakeLists.txt上的CMake错误:74(find_package):无法找到与请求的版本“5.0.0”兼容的软件包“LLVM”的配置文件。

考虑了以下配置文件但未被接受:

/usr/local/Cellar/llvm/5.0.0/share/cmake/modules/llvm-config.cmake,版本:未知

由于某种原因,该版本不存在于share/cmake/modules目录中的任何位置。

如何在不更改brew安装的LLVM的情况下解决此问题?

cmake homebrew
1个回答
0
投票

找到了答案。我正在向LLVM_DIR传递错误的路径。我只需要使用另一个目录(埋在lib中,而不是在share中):

cmake .. -DLLVM_DIR=/usr/local/Cellar/llvm/5.0.0/lib/cmake/llvm/

不知道为什么brew决定为LLVM安装2个版本的CMake助手,一个在share,一个在lib

© www.soinside.com 2019 - 2024. All rights reserved.