Estoy tratando de usar un cmake skript para compilar una aplicación basada en impulso en Windows. Las bibliotecas de cabecera sólo funcionan bien, pero cmakes no logra encontrar las librerías (Las siguientes bibliotecas Boost no se ha encontrado: boost_serialization) La parte pertinente de la secuencia de comandos cmake es:cmake no encuentra las bibliotecas de impulso
#path where cmake can find additional libraries
SET(CMAKE_PREFIX_PATH Libs)
#boost
SET(Boost_ADDITIONAL_VERSIONS "1.47" "1.47.0")
SET(Boost_USE_STATIC_LIBS ON)
find_package(Boost REQUIRED COMPONENTS serialization)
He una carpeta llamada " Libs "dentro de mi proyecto donde se almacenan bibliotecas de terceros como DevIL y boost, así que configuro esto primero. Funciona bien para Devil y aumenta cosas solo de encabezado, así que supongo que no debería necesitar la variable BOOST_ROOT. La instalación de refuerzo es la distribución de fuente estándar de boost.org que compilé con bjam. Las bibliotecas se almacenan en boost_1_47_0 \ bin.v2 \ libs, no cambié nada en el proceso de compilación. Creo que es un poco extraño que la carpeta boost_1_47_0 \ libs no contenga ningún archivo de biblioteca sino archivos bjam y otras cosas, pero eso no debería ser un problema, ya que esta costura es la forma normal de generar un impulso en Windows de la fuente.
Miré la salida de depuración de FindBoost.cmake (estoy usando la secuencia de comandos predeterminada de CMake 2.8) y no tiene sentido mirar en bin.v2. En su lugar, busca boost_ROOT/lib, pero cuando copié el contenido de bin.v2 \ libs a lib, todavía no encuentra nada.
Entonces, ¿qué es una forma elegante de encontrar impulso, que también funcionará en otras plataformas con distribuciones de bosst comunes?
Lea el manual, aprenda sobre el escenario y la instalación. – mloskot
Leí el manual (http://www.boost.org/doc/libs/1_48_0/more/getting_started/windows.html) pero utilicé la opción 5.2. Encontré el directorio de escenario con todas las bibliotecas y ahora puedo configurarlo como mi directorio de biblioteca de refuerzo, pero la próxima vez probaré la opción 5.3. – JonathanK
También puede simplemente copiar el directorio de etapas y de impulso (encabezados) para hacer su propia instalación de Boost. p.ej. boost/-> C: \ boost \ include \ boost y stage/* -> C: \ boost \ lib – mloskot