2012-08-24 11 views
9

Voglio usare boost con C++ in Qt Creator su Windows. Ho seguito le istruzioni da:Configura Qt Creator per utilizzare Boost su Windows

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

così mi sono imbattuto .\bootstrap.bat poi ./b2 install --prefix=C:\Boost poi ho aggiunto C:\Boost\bin alla variabile d'ambiente PATH.

Voglio rendere "visibile" l'ottimizzazione di Qt Creator ora e non sono riuscito a trovare alcuna risorsa sul Web. Qualcuno può darmi un suggerimento, per favore?

+0

Quando si dice "voglio usare boost", vuol dire "voglio usare Boost costruire" o "Voglio usare il Boost Libreria C++ "? –

+0

Mi dispiace ma sono un antipasto e non ho usato boost prima, so solo che è una libreria C++. Quello che voglio è usare la libreria nel mio codice C++. Quindi suppongo che Boost Build e Boost C++ Library siano cose diverse, quali sono e quali sono le differenze tra loro? Grazie per il commento –

+0

Anche sapendo quale spinta è e avendo affrontato la costruzione corretta (con le proerties desiderate) prima non è una garanzia, passerai mezza notte a fare casino con la sua costruzione e integrazione nell'IDE. Quindi fai attenzione :) – mlvljr

risposta

11

Bene Finalmente sono riuscito a compilare un paio di esempi di file system Boost trovati a Boost Filesystem tutorial con Windows 7 con Qt Creator 2.7.1, Qt 4.8.4 e Boost 1.54. Ecco il mio file di progetto 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 
} 

Si prega di notare l'uso di "/" invece di "\".

La libreria My Boost è stata compilata nella directory "c: \ boost" utilizzando MinGW.

+0

win32 { INCLUDEPATH + = C:/Users/utente/Download/dev/boost_1_61_0 LIBS + = "-LC:/dev/Boost/lib /" \ \t "-Llibboost_filesystem-mgw53-mt-d-1_61. a "," -Llibboost_system-mgw53-mt-d-1_61.a "," -Llibboost_serialization-mgw53-mt-d-1_61.a "-LLIBS } – thistleknot

0

Penso che tu ti sia confuso un po '.

Il collegamento che hai menzionato è per il sistema Boost Build, non per le librerie Boost. There's a full installer on www.boostpro.com per i file della libreria, che ti consentiranno di iniziare un po 'più velocemente, tuttavia se ciò non funziona correttamente è disponibile una guida here per la creazione autonoma.

Il prossimo passo dopo averli costruiti è far sì che Qt ne sia a conoscenza. In genere lo fai su una base per progetto, modificando le impostazioni tramite Qt Creator o modificando direttamente il file .pro per il tuo progetto. Preferisco modificare lo .pro come è stato appreso, se si percorre tale percorso è necessario comunicargli lo INCLUDEPATH per i file di intestazione e il percorso LIBS per le librerie. Un sacco di Boost è solo il file di intestazione, quindi a seconda di quali parti si utilizza potrebbe non essere necessaria la parte LIBS.

1

Risponderò a questa domanda sulla base di altre risposte che ho trovato.

In primo luogo, è necessario utilizzare le librerie boost compilate con lo stesso compilatore utilizzato da QtCreator (in genere mingw). Se si utilizzano librerie di boost prefabbricate (generalmente compilate usando msvc), le librerie si collegheranno ma si verificherà un errore di riferimento non definito.

Quindi, è necessario compilare le librerie di boost da soli. A questo scopo, attenersi alla seguente procedura:

  1. Aggiungere i binari MinGW al PATH. Vai a Control panel > System > Advanced settings > Environmet variables e imposta la variabile path. Nel mio caso, il valore era c:\Qt\Tools\mingw\bin.

  2. Aprire un terminale e andare alla directory in cui è stata decompressa la spinta. Eseguire questo: bootstrap.bat gcc

  3. Ora eseguire questo: b2 link=shared toolset=gcc