cmake - smart - programar contratos inteligentes
Directorio personalizado para la salida de la biblioteca CMake (1)
En CMake, parece que no puedo mostrar mi biblioteca en ../out/library, solo biblioteca. Cuando hago la ruta ../out/library, me dice que no puede encontrar la biblioteca, como si quisiera enlazarla.
add_library(../out/JE3D ../source/CDeviceLayerSDL.cpp)
Hay más archivos, solo estoy ahorrando espacio. Cuando hago eso, me sale este error.
Enlace a la biblioteca estática CXX lib ../ out / JE3D.a / usr / bin / ar: lib ../ out / JE3D.a: No existe tal archivo o directorio [2]: * [lib ../ out / JE3D. a] Error 1 marca [1]: * [CMakeFiles /../ out / JE3D.dir / all] Error 2 marca: *** [all] Error 2
La propiedad de destino LIBRARY_OUTPUT_DIRECTORY
especifica el directorio donde se construirán los archivos de destino de la biblioteca.
set_target_properties(JE3D PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/library)
Si todas las bibliotecas están en un directorio, me parece más conveniente establecer la variable CMAKE_LIBRARY_OUTPUT_DIRECTORY
, que se usa para inicializar la propiedad LIBRARY_OUTPUT_DIRECTORY
al crear un destino.
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/library)
Editar: verifica los comentarios si tu objetivo es una biblioteca estática