Ho avuto un problema simile durante il tentativo di utilizzare il test di unità boost in Visual Studio 2015 (Community Edition):
errore irreversibile LNK1104: libboost_unit_test_framework-vc140-mt-1_57
così ho pensato di condividere la mia soluzione.
È possibile creare un progetto di test di unità boost in due modi (e questa soluzione funziona per entrambi):
- usando il Boost Unit Test Adapter
- o creando un'applicazione console Win32 ( passaggi qui ) e sostituendo la funzione principale con una funzione di test delle unità boost ( passaggi qui ).
Ecco i passaggi che ho seguito per far funzionare entrambi i progetti:
Innanzitutto, scarica la versione boost desiderata (ad esempio, boost_1_57_0 ). È possibile scaricare boost con i binari corretti (compilati utilizzando msvc v140) o estrarre i binari da soli eseguendo i seguenti comandi dalla riga di comando:
- bootstrap.bat
- "C: \ Programmi (x86) \ Microsoft Visual Studio 14.0 \ VC \ vcvarsall.bat" x86
- bjam: pulito
- bjam -j4 --debug-symbols = on --build-type = complete toolset = msvc-14.0 threading = multi runtime-link = shared address-model = 32
Dove msvc-14.0 specifica che è necessaria la versione di Visual Studio 2015 (VS 2015 = v14.0 = v140) e address-model = 32 specifica che abbiamo bisogno della piattaforma 32 (ma lo stesso può essere fatto per 64 bit).
Una volta che hai i binari, vai a Visual Studio, seleziona il progetto Boost Unit Testing che hai creato. Vai a Proprietà progetto> configurazione (dal menu principale) e fai le seguenti scelte:
Imposta " Generale> Set di strumenti della piattaforma " su Visual Studio 2015 (v140).
Includere il percorso della cartella boost (ad esempio C: \ boost_1_57_0) e il percorso della sottocartella contenente i file binari (ad esempio C: \ boost_1_57_0 \ stage \ lib) in:
- " C \ C ++> Directory di inclusione aggiuntiva "
- e " Linker> Directory di libreria aggiuntive ".