2013-09-11 13 views
8

Pobrałem, wyodrębniłem i skompilowałem biblioteki Boost (w tym osobno skompilowane biblioteki). Użyłem ich procedury instalacji kilka razy, ale nie mogę sprawić, żeby zrobiła dokładnie to, co chcę. W tej chwili, gdy instaluję funkcję Boost po kompilacji, przechodzi ona pod numerZainstaluj nagłówki Boost do określonego katalogu (Windows)

C:\Boost 

To jest w porządku. Skompilowane biblioteki przejść do

który jest również w porządku. Mam problem z instalacją prekompilowanych nagłówków. Zostali umieścić na

C:\Boost\include\boost-1_54\boost 

Czy istnieje sposób na wykorzystanie systemu doładowania zbudować i zainstalować narzędzia do ustawiania skompilowane nagłówki mają być instalowane tylko

C:\Boost\include 

i nie mieć numer wersji doładowania być część tej hierarchii folderów?

Nie planuję używać wielu wersji Boost w tym samym czasie, więc nie mam zastosowania, aby rzeczywiście mieć ten numer wersji. Rozumiem, że mogłem przenieść je ręcznie po ukończeniu instalacji, ale chciałem najpierw zobaczyć, czy przeoczyłem lub źle zrozumiałem coś o systemie budowania Boost.

+1

Jakie polecenia wywołują Państwo podczas budowania wzmocnienia? Co oznacza "prekompilowany nagłówek"? –

+0

Uruchomiłem 'bootstrap', a następnie'. \ B2 -j8 --prefix = C: \ Boost --libdir = C: \ Boost \ lib --includedir = C: \ Boost \ include install'. Prekompilowane nagłówki to pliki hpp, które nie wymagają użycia kompilacji, pliki, które znajdują się w katalogu include. – CraigularB

+2

Rozumiem. Co otrzymasz, jeśli dodasz '--layout = system'? –

Odpowiedz

0

--layout=system usuwa wersjonowany podkatalog ze ścieżki dołączania (jak wskazano @IgorR.).

"Usunięcie drugiego wzmocnienia w ścieżce" jest złym pomysłem. W szacownym systemie OS (kaszel ...), pliki dołączane do różnych bibliotek powinny współistnieć w jednym wspólnym katalogu zawierającym, stąd podkatalog boost, aby uniknąć konfliktów. Nagłówki wzmocnienia są zatem zazwyczaj nazywane np. #include <boost/any.hpp>, to jest , w tym z podkatalogiem boost/.

Odbywa się to zarówno za pomocą oprogramowania innej firmy korzystającego z funkcji Boost, jak i przez samo zwiększenie. Jeśli usuniesz drugą ścieżkę ze ścieżki boost, skończysz z C:\Boost\include\any.hpp, a każde oprogramowanie wykorzystujące funkcję "Wzmocnienie" nie skompiluje się, ponieważ nawet Boost nie może znaleźć swoich własnych włączeń.

+0

Wiem, że to pytanie jest starożytne, ale wyglądało tak samotnie bez odpowiedzi ... – DevSolar

Powiązane problemy