CMake & dyld: Library not loaded: @rpath/libLTO.dylib



我正在使用clion和cmake上的Mac OS X上的LLVM编译我的项目。

我的cmake配置是:

cmake_minimum_required(VERSION 3.6)
project(PPAP)
set(CMAKE_CXX_STANDARD 11)
# add_compile_options(-v)
include_directories(
    /usr/local/Cellar/python3/3.6.0_1/Frameworks/Python.framework/Versions/3.6/include/python3.6m
    /usr/local/Cellar/llvm/3.9.1/include
    )
set(SOURCE_FILES src/parser.cpp src/convert.cpp src/ast.cpp)
set(LIBRARIES    
    /usr/local/Cellar/python3/3.6.0_1/Frameworks/Python.framework/Versions/3.6/lib/libpython3.6.dylib
    /usr/local/Cellar/llvm/3.9.1/lib/libLLVM.dylib
    )
add_executable(PPAP ${SOURCE_FILES})
target_link_libraries(PPAP ${LIBRARIES})

然后我成功编译了它,但是当我运行时,我得到了:

dyld: Library not loaded: @rpath/libLTO.dylib
  Referenced from: /usr/local/opt/llvm/lib/libLLVM.dylib
  Reason: image not found

如何解决此问题?

仅链接libLLVM.dylib是不够的。使用 llvm-config 而不是手动添加库是一种更好的方法。

这不是理想的选择,但是将库目录添加到clion run/debug配置中的dyld_library_path环境变量使我失去了错误。

我仍然对仅CMAKE的解决方案感兴趣,而不必诉诸Dyld_library_path。

最新更新