cmake - target_link_libraries - ¿Cómo puedo encontrar un nombre de biblioteca del archivo.so?
cmake tutorial (1)
Realice los siguientes pasos para vincular una lib existente a su destino:
- Informarle qué lib necesita: aquí perfilador.
- Construye el nombre de la lib. CMake realmente no necesita esto, pero vale la pena saber: Ejemplo en Unix / Linux lib + NAME + [.so | .a] [VERSION]. Aquí: libprofiler.so.
En tu CMakeLists.txt:
find_library(LIB_PROFILER NAMES profiler libprofiler.so libprofiler.so.V123) add_executable(MyApp ${SOURCES}) target_link_libraries(MyApp ${LIB_PROFILER})`
El código anterior trata de encontrar una lib y comprueba el siguiente perfil de perfil, libprofiler.so y libprofiler.so.V123. Si se encuentra, la variable LIB_PROFILER apunta al archivo lib. Usa la variable como uno de los archivos vinculados a tu objetivo.
En tu código, también te perdiste el ${}
alrededor de la variable.
Por ejemplo, tengo el archivo libprofiler.so
. ¿Cómo puedo obtener el nombre de este objeto compartido como este?
getname /usr/lib/libprofiler.so
Quiero hacerlo porque es necesario para CMakeLists.txt
en
target_link_libraries(MyProject name_of_library)