我正在尝试使用 Homebrew (MacOS High Sierra 10.13.3) 提供的库存 LLVM 5.0.0。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}")
Run Code Online (Sandbox Code Playgroud)
如果我在没有任何参数的情况下运行 CMake,我会得到:
CMakeLists.txt:74 (find_package) 处的 CMake 错误:由于未在 CMAKE_MODULE_PATH 中提供“FindLLVM.cmake”,该项目已要求 CMake 查找“LLVM”提供的包配置文件,但 CMake 未找到。
找不到“LLVM”(要求版本 5.0.0)提供的具有以下名称的包配置文件:
Run Code Online (Sandbox Code Playgroud)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/
Run Code Online (Sandbox Code Playgroud)
我希望一切顺利。相反,我收到以下错误:
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的情况下解决这个问题?
找到了答案。我向 LLVM_DIR 传递了错误的路径。我只需要使用另一个目录(埋在lib,而不是share):
cmake .. -DLLVM_DIR=/usr/local/Cellar/llvm/5.0.0/lib/cmake/llvm/
Run Code Online (Sandbox Code Playgroud)
不知道为什么brew决定为LLVM安装2个版本的CMake助手,一个share在lib.
| 归档时间: |
|
| 查看次数: |
4238 次 |
| 最近记录: |