使用LLVM 5.0.0从BRER中使用CMAKE错误



我正在尝试使用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): 找不到兼容的软件包" LLVM"的配置文件 带有请求的版本" 5.0.0"。

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

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

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

如何解决此问题,而不更改酿造的LLVM?

找到了答案。我经历了通往llvm_dir的错误道路。我只需要使用另一个目录(埋在lib中,而不是share中):

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

不确定为什么Brew决定为LLVM安装2个版本的CMAKE助手,一个在share中,一个在lib中。

最新更新