CMake 和 dyld:库未加载:@rpath/libLTO.dylib

4

我正在使用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

如何解决这个问题?
2个回答

1

虽然不是最理想的解决方案,但将库目录添加到CLion运行/调试配置中的DYLD_LIBRARY_PATH环境变量中,可以让我避免了错误。

我仍然希望有一种只使用CMake而不必依赖DYLD_LIBRARY_PATH的解决方案。


1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接