2012-01-20 10 views
18

Szukałem w plikach jam, jak zbudowana jest nazwa biblioteki. Przykład: libboost_log-mgw46-mt-1_48.dllZwiększenie: W jaki sposób bjam tworzy nazwę biblioteki?

Chciałbym zignorować ostatnią część, jak przekazać linkerowi parametr -o z moją skonstruowaną nazwą. Mam kilka wersji i łączenie w dużym projekcie zmusza mnie do zmian w pliku projektu i to jest wiele miejsc.

Moim życzeniem jest uzyskanie libboost_log.dll. Po prostu zmieniłem nazwę, ale podczas wykonywania programu mówi, że nie może znaleźć pliku libboost_log-mgw46-mt-1_48.dll.

Odpowiedz

23

Zwiększenie Bjam ma 3 różne układy nazewnictwa zdefiniowane. Cytując pomocy umieszczonego w Jamroot pliku (Nie jestem świadomy jakiejkolwiek dokumentacji lepiej online):

# --layout=<layout>  Determines whether to choose library names 
#       and header locations such that multiple 
#       versions of Boost or multiple compilers can 
#       be used on the same system. 
# 
#        versioned - Names of boost binaries 
#        include the Boost version number, name and 
#        version of the compiler and encoded build 
#        properties. Boost headers are installed in a 
#        subdirectory of <HDRDIR> whose name contains 
#        the Boost version number. 
# 
#        tagged -- Names of boost binaries include the 
#        encoded build properties such as variant and 
#        threading, but do not including compiler name 
#        and version, or Boost version. This option is 
#        useful if you build several variants of Boost, 
#        using the same compiler. 
# 
#        system - Binaries names do not include the 
#        Boost version number or the name and version 
#        number of the compiler. Boost headers are 
#        installed directly into <HDRDIR>. This option 
#        is intended for system integrators who are 
#        building distribution packages. 
# 
#       The default value is 'versioned' on Windows, and 
#       'system' on Unix. 

Układ system daje schemat nazewnictwa chcesz - zwykły basename bez żadnych innych informacji.

Nazwy plików doładowania według tych układów są generowane przy użyciu reguły tag zdefiniowanej w pliku boostcpp.jam.

+4

To przeszkadza mi, że jest to łatwiejsze do znalezienia na SO niż w dokumentacji doładowania. – iAdjunct

Powiązane problemy