2012-08-24 24 views
9

Quiero usar boost con C++ en Qt Creator en Windows. he seguido las instrucciones de:Configurar Qt Creator para usar Boost en Windows

http://www.boost.org/doc/libs/1_51_0/doc/html/bbv2/installation.html

por lo que corrí .\bootstrap.bat continuación ./b2 install --prefix=C:\Boost Luego añade C:\Boost\bin a la variable de entorno PATH.

Quiero hacer que Qt Creator "vea" aumentar ahora y no pude encontrar ningún recurso en la web. ¿Alguien puede darme una pista, por favor?

+0

Cuando dice "Quiero usar impulso", Qué quiere decir "quiero usar Boost Build" o "Quiero utilizar el Boost C++ Library "? –

+0

Lo siento pero soy un principiante y no usé boost antes, solo sé que es una biblioteca C++. Lo que quiero es usar la biblioteca en mi código C++. Entonces, supongo que Boost Build y Boost C++ Library son cosas diferentes, ¿cuáles son y cuál es la diferencia entre ellos? Gracias por el comentario –

+0

Incluso sabiendo qué impulso es y haber tratado con construirlo correctamente (con las propiedades deseadas) antes no es garantía, pasarás media noche jugando con su construcción e integración en el IDE. Así que ten cuidado :) – mlvljr

Respuesta

11

Bueno, finalmente pude compilar un par de los ejemplos del sistema de archivos Boost encontrados en Boost Filesystem tutorial con Windows 7 con Qt Creator 2.7.1, Qt 4.8.4 y Boost 1.54. Aquí está mi archivo de proyecto qmake.

TEMPLATE = app 
CONFIG += console 
CONFIG -= app_bundle 
CONFIG -= qt 

SOURCES += main.cpp 

win32 { 
    INCLUDEPATH += C:/boost/include/boost-1_54 
    LIBS += -LC:/boost/lib \ 
      -lboost_serialization-mgw46-mt-d-1_54 \ 
      -lboost_filesystem-mgw46-mt-d-1_54 \ 
      -lboost_system-mgw46-mt-d-1_54 
} 

Tenga en cuenta el uso de "/" en lugar de "\".

Mi biblioteca de Boost se compiló en el directorio "c: \ boost" con MinGW.

+0

Win32 { INCLUDEPATH + = C:/Users/usuario/Descargas/dev/boost_1_61_0 LIBS + = "-LC:/dev/Boost/lib /" \ \t "-Llibboost_filesystem-mgw53-mt-d-1_61. a "," -Libboost_system-mgw53-mt-d-1_61.a "," -Llboboost_serialization-mgw53-mt-d-1_61.a "-LLIBS } – thistleknot

0

Creo que te has confundido un poco.

El enlace que ha mencionado es para el sistema Boost Build, no para las bibliotecas de Boost. There's a full installer on www.boostpro.com para los archivos de la biblioteca, eso lo pondrá en funcionamiento un poco más rápido; sin embargo, si eso no funciona correctamente, hay una guía here para compilarlo usted mismo.

El siguiente paso después de haberlos construido es hacer que Qt los conozca. Por lo general, se hace esto por proyecto, ya sea ajustando la configuración a través de Qt Creator o editando directamente el archivo .pro para su proyecto. Prefiero editar el .pro, ya que es la forma en que aprendí, si vas por esa ruta, debes dejarle saber INCLUDEPATH para los archivos de cabecera y la ruta LIBS para las bibliotecas. Gran parte de Boost es solo un archivo de encabezado, por lo que dependiendo de las partes que use puede o no necesitar la parte LIBS.

1

Responderé a esta pregunta en función de otras respuestas que encontré.

En primer lugar, necesita utilizar bibliotecas de refuerzo compiladas con el mismo compilador utilizado por QtCreator (generalmente mingw). Si usa librerías de refuerzo precompiladas (generalmente compiladas usando msvc), las bibliotecas enlazarán pero se producirá un error de referencia indefinido.

Por lo tanto, debe compilar bibliotecas de impulso usted mismo. Para ello, siga estos pasos:

  1. Agregue los binarios de mingw a la RUTA. Vaya a Control panel > System > Advanced settings > Environmet variables y configure la variable path. En mi caso, el valor fue c:\Qt\Tools\mingw\bin.

  2. Abra un terminal y vaya al directorio en el que se descomprimió el impulso. Ejecutar este: bootstrap.bat gcc

  3. Ahora ejecutar este: b2 link=shared toolset=gcc