我正在尝试使用 Cmake 制作我的第一个项目,但我遇到了静态链接到 *.so 库的问题。
我的二进制文件只能从构建文件夹中查看库。
我尝试使用“RPATH handling”手册中的这些语句,但到目前为止它不起作用:
set(CMAKE_SKIP_BUILD_RPATH FALSE)
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
set(CMAKE_INSTALL_RPATH "/lib")
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
target_link_libraries(mt libjack.so "${CMAKE_BINARY_DIR}/lib/librtmidi.so")
与 qmake 相比,我可以将其包含在 pro 文件中:
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN/lib
然后,无论我将二进制文件部署到哪里,一个都将链接到 /lib 文件夹中的库。
谢谢!