2012-01-20 13 views
18

Stavo cercando nei file di inceppamento come viene costruito il nome della libreria. Esempio: libboost_log-mgw46-mt-1_48.dllBoost: come bjam costruisce un nome di libreria?

Vorrei ignorare l'ultima parte, come passare linker il parametro -o con il mio nome costruito. Ho poche versioni e il collegamento in un grande progetto mi obbliga a fare cambiamenti nel file di progetto e questo è un sacco di posti.

Il mio desiderio è quello di ottenere libboost_log.dll. Ho appena rinominato, ma quando eseguo un programma dice che non riesce a trovare il file libboost_log-mgw46-mt-1_48.dll.

risposta

23

Boost Bjam ha 3 diversi layout di denominazione definiti. Per citare l'aiuto posto in Jamroot di file (io non sono a conoscenza di alcuna documentazione in linea migliore):

# --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. 

Il layout system dà lo schema di denominazione che si desidera - nome base piana, senza alcuna altra informazione.

I nomi per i file di output boost in base a questi layout vengono generati utilizzando la regola tag, definita nel file boostcpp.jam.

+4

Mi dà fastidio che sia più facile trovarlo qui su SO piuttosto che trovarlo nella documentazione di boost. – iAdjunct

Problemi correlati