Şu anda projelerimden birini GCC'ye taşıyorum ve hem x64 hem de x86 desteğine gereksinim duyduğumdan bunu gerçekleştirmek için MinGW-w64 projesini kullanıyorum.C++ MinGW-w64 ve Boost.Build'i kullanarak Oluşturma Ortamı
Yapım ortamımı ayarlarken bir sorunla karşılaştım. Projem şu anda Boost C++ kütüphanelerini kullanıyor ve yapı sürecini kolaylaştırmak için projemde de Boost.Build'i kullanıyorum (entegrasyonu kolaylaştırıyor). 32-bit ve 64-bit toolchain yerleştirilmiştir olarak,
b2 toolset=msvc address-model=32 # compile as 32-bit
b2 toolset=msvc address-model=64 # compile as 64-bit
MinGW-w64 bu 'sorunlu' yapıyor: Ben komut satırından aşağıdakileri yapabilirsiniz çünkü
altında MSVC bu, gayet ayrı dizinlerde. (Sırasıyla C: \ MinGW32 ve C: \ MinGW64).
Adres modeli bayrağına göre doğru takım zincirini seçecek şekilde Boost.Build kurulabilir mi? Değilse, bir sonraki en iyi seçenek nedir?
DÜZENLEME:
Eğer yardımı olacaksa
, ben 4.6.3-1 yılında MinGW-w64 web sitesinden kurar rubenvb kullanıyorum klasörü (kullanıyorum bu ben istediğim gibi özellikle kurar "Kişisel oluşturur" Kodumu ayrıştırmaya çalışıyorum - ancak Clang altında derleme değil -.DÜZENLEME: Sadece düşünce
bir çözüm 'elle' derleme önce doğru toolchain işaret edecek PATH set, ancak bu benim yapı sürecine komplikasyon bir kat daha ekler olacaktır ki ben ediyorum kaçınmak ister. İdeal olarak, MSVC için olduğu kadar kolay olmasını isterim, bunun mümkün olmadığını anladım. En kötü durumda, sadece ne önerdiğimi varsayardım, ve Boost.Build'i çağırmadan önce PATH'ı doğru bir şekilde ayarlamak için komut dosyaları eklemem gerekir. Bunu yapmak istemediğim bir yolu hardcoding anlamına gelirdi ...
Takım zincirine önek eklemeden benzer bir şey yapmanın bir yolu var mı? 'Varsayılan' toolchain adını kullanmak ve adres-model bayrağı tarafından algılanan 32/64-bit parçasına sahip olmak isterim. – RaptorFactor
, ör. b2 toolet = gcc address-model = 32 – RaptorFactor
Bildiğim kadarıyla, adres-model açıkça mingw-gcc argümanı olarak desteklenmiyor. Durumunuzda adres-model = 32'nin neden daha iyi olduğunu soruyorum? – Kristofer