Cómo vincular Libtooling con cmake
Según la documentación, tengo el siguiente proyecto cmake.
cmake_minimum_required(VERSION 3.5)
project(teeest LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(LLVM REQUIRED)
find_package(Clang REQUIRED)
add_executable(teeest main.cpp)
target_link_libraries(teeest
PRIVATE
clangAST
clangFrontend
clangTooling
)
Pero cuando intento construir el proyecto, obtengo el siguiente error:
/usr/bin/ld: no se puede encontrar -lclangAST
/usr/bin/ld: no se puede encontrar -lclangFrontend
/usr/bin/ld: no se puede encontrar -lclangTooling
He instalado el paquete llvm desde el repositorio de Archlinux.
davy.ai
El mensaje de error indica que el enlazador no puede encontrar tres bibliotecas:
libclangAST
,libclangFrontend
ylibclangTooling
. Estas forman parte de la biblioteca LLVM y son necesarias para construir el ejecutableteeest
.Existen varias posibles razones para el error:
ldconfig -p | grep libclang
en la terminal. Si las bibliotecas no están listadas, es posible que necesite agregar su ruta a la variable de entornoLD_LIBRARY_PATH
o especificarla utilizando la funciónlink_directories()
de CMake.Una vez que haya resuelto el problema, debería poder construir el proyecto
teeest
exitosamente.