Ruta de archivo de encabezado de CMake ruta de biblioteca dinámica

include_directories

Es equivalente al parámetro -I en la opción gcc, y también al rol de C_INCLUDE_PATH y CPLUS_INCLUDE_PATH en la variable de entorno.

include_directories("/usr/include/SDL2")

set(MY_INCLUDE /usr/include/SDL2)
include_directories(${
    
    MY_INCLUDE})

find_package(SDL2 REQUIRED)
include_directories(${
    
    SDL2_INCLUDE_DIRS})

link_directories

Es equivalente al parámetro -L en la opción gcc y al rol de LIBRARY_PATH en la variable de entorno.

link_directories("/usr/local/lib")

set(MY_LIBRARY /usr/local/lib)
link_directories(${
    
    MY_LIBRARY})

bibliotecas_enlace

Especifique la ruta completa de la biblioteca, incluido el nombre de la biblioteca.

  • Usado antes de add_executable
  • Parece que se usa para vincular bibliotecas estáticas.
  • Parece que está en desuso, ahora use target_link_libraries

target_link_libraries

Equivalente a parámetros como -lm -lpthread -lSDL2 en la opción gcc, que se usa para vincular bibliotecas dinámicas

  • Usado después de add_executable
  • Se usa para vincular bibliotecas dinámicas
target_link_libraries(myplay SDL2)
target_link_libraries(myplay -lSDL2)
target_link_libraries(myplay libSDL2-2.0.so.0)
target_link_libraries(myplay /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0)
target_link_libraries(myplay 
                     ${
    
    OpenCV_LIBS}
                     -lavcodec
                     -lavdevice
                     -lavfilter
                     -lavformat
                     -lavutil
                     -lswresample
                     -lswscale
                     -lm
                     -lSDL2
                     )

Supongo que te gusta

Origin blog.csdn.net/weixin_43742643/article/details/113816857
Recomendado
Clasificación