CMake 笔记

目录

  • 1. CMake 笔记
    • 1.1. How can LD_LIBRARY_PATH be changed within CMake?

1. CMake 笔记

1.1. How can LD_LIBRARY_PATH be changed within CMake?

Solution 1

If your shared lib is not build in the same CMake project of your executable, you can use the CMake rpath handling like this:

set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

When you will run make install, CMake will automatically set the runtime path of your executable to your shared library.

If your shared library is built in the same CMake project, use this:

set(CMAKE_INSTALL_RPATH "/usr/local/lib")
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

In this case you must add yourself the directory where your shared library will be installed to the runtime path.

For more information, you can read CMake rpath handling

Solution 2

You can set the runtime shared library search path using the -rpath linker option:

SET(CMAKE_EXE_LINKER_FLAGS 
          "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,/usr/local/lib")

你可能感兴趣的:(c-cpp_rust,c++,cmake,make,makefile,gcc)