tutorial smart programar para introduccion inteligentes inteligente ejemplos crear contratos contrato cmake

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