GCC

2011-03-14 20 views
13

ile Boost kitaplıkları oluşturulamıyor Windows 7 64-bit kullanıyorum ve önyükleme yapılmamış kütüphaneleri (özellikle, Dosya Sistemine ihtiyacım var) komut satırından derlemek istiyorum (MSVC kullanmıyorum). MinGW'm var, ancak Boost web sitesinde MSYS kabuğu desteklenmiyor, bu yüzden Windows komut isteminden kütüphaneleri derlemeye çalışıyorum. Aşağıdaki hatayla sonuçları bootstrap.bat çalışan tümGCC

Öncelikle:

Building Boost.Jam build engine 
'cl' is not recognized as an internal or external command, 
operable program or batch file. 

Failed to build Boost.Jam build engine. 
Please consult bjam.log for furter diagnostics. 

You can try to obtain a prebuilt binary from 

    http://sf.net/project/showfiles.php?group_id=7586&package_id=72941 

Also, you can file an issue at http://svn.boost.org 
Please attach bjam.log in that case. 

Artı, her yerde boost_root dizinde bjam.log dosyası bulunmamaktadır. şikayetlerin oldukça çok

c:/boost_1_45_0/tools/build/v2/build\configure.jam:145: in builds-raw 
*** argument error 
* rule UPDATE_NOW (targets * : log ? : ignore-minus-n ?) 
* called with: (<pbin.v2\libs\regex\build\gcc-mingw-4.5.2\debug\address-model64\architecture-x86>has_icu.exe : : ignore-minus-n : ignore-minus-q) 
* extra argument ignore-minus-q 
(builtin):see definition of rule 'UPDATE_NOW' being called 
c:/boost_1_45_0/tools/build/v2/build\configure.jam:179: in configu 
re.builds 
c:/boost_1_45_0/tools/build/v2/build\configure.jam:216: in object(
check-target-builds-worker)@409.check 

vb:

bu hatayı dikkate almayan ve indirilen bjam.exe dosyasını çalıştırın çalışırken, başka bir hata alıyorum. 'Mimari' ve 'adres-model' seçeneklerini ayarlamak size yardımcı olmaz.

Herhangi bir öneriniz var mı? Filesystem'ı: Andre'nin öneri ardından @Andre

, ben şu anda ihtiyaç birini bir saat bir buçuk çalışan ve kütüphanelerin çoğu inşa değildi ama MinGW-bjam yarattı. Yalnızca dosya sistemini derlemeye çalıştığınızda, sürüm 2'yi define="BOOST_FILESYSTEM_VERSION=2" ve --disable-filesystem3 belirtme yardımcı olmaz. ...failed tabloların bir sürü

gcc.compile.c++ bin.v2\libs\filesystem\build\gcc-mingw-4.5.2\debug\v3\src\operations.o 
In file included from ./boost/filesystem/v3/operations.hpp:24:0, 
      from libs\filesystem\v3\src\operations.cpp:48: 
./boost/filesystem/v3/config.hpp:16:5: error: #error Compiling Filesystem version 3 
file with BOOST_FILESYSTEM_VERSION defined != 3 
libs\filesystem\v3\src\operations.cpp:647:26: warning: 
'<unnamed>::create_symbolic_link_api' defined but not used 

"g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -DBOOST_ALL_NO_LIB=1 - 
DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_FILESYSTEM_VERSION=2 -DBOOST_SYSTEM_DYN_LINK=1 - 
I"." -c -o "bin.v2\libs\filesystem\build\gcc-mingw-4.5.2\debug\v3\src\operations.o" 
"libs\filesystem\v3\src\operations.cpp" 

vb: aşağıdaki hatayı alıyorum.

Burada herhangi bir ipucu var mı?

cevap

9

Önyükleme komut dosyası, msvc derleyicisinin kullanılabilir olduğunu varsayar. Ancak, bootstrap komut dosyası olmadan elle bjam kurabilirsiniz:

Araçlar \ build \ v2 \ engine \ src dizinine girin ve "build.bat mingw" komutunu arayın. Bir bjam.exe yaratacaktır. Daha sonra% PATH% ya da belki de root boost dizinine koyabilirsiniz.

Dürüst olmak gerekirse, genellikle msvc derleyici ile bu şekilde bjam yapıyorum ve bu "msvc-bjam" ı kullanıyorum. kütüphaneleri artırmak.

+0

Merhaba Andre, teşekkür çok. bjam.exe 64 bit özgü bayraklarıyla işe yaramadı rağmen bunu yaptı o. Alkış ! – vkotor

+0

64 bit özel şeyler için sadece MinGW64 kullanıldı. Bjam en yeni sürümle çalıştı. –

+2

Şimdi (boost v1.63) dizini \ tools \ build \ src \ engine. Komut build.bat gcc'dir. bjam.exe ve b2.exe \ tools \ build \ src \ engine \ bin.ntx86 – ravenspoint

2

Bu yüzden problemin ilk kısmı Andre'nin önerisiyle çözüldü. İkinci bölüm, BOOST_FILESYSTEM_VERSION değişkenini her yerde 3 olarak ayarlayarak çözüldü (yukarıdaki hata, user.hpp dosyasında ayarlananlarla uyumsuzluktan şikayetçidir). Bu kullanıyorum Boost 1.45 için varsayılan seçenek olmasa da, çalışan tek şey (yani bjam ne olursa olsun sürüm 3 derlemek istiyor). Şimdi dosya sistemi kitaplığının 3. sürümüne ve diğer tüm kullanıcılar için sürüm 2'ye sahibim, ancak bu şu an için bir sorun gibi görünmüyor.

28

Çok kolay);

sonraki meydan kapalı ... gerçi, OpenCV ve öz kütüphaneleri ile Boost ile ilgili bir sorun var. Sadece "bootstrap" kullanın.yarasa gcc" Henüz yorum yapamam, ben düzgün b2 üretmek için

bootstrap mingw

ran eklemek istiyorum ve daha sonra

b2 --build-dir="c:\boost_release" toolset=gcc --build-type=complete "c:\boost_release\stage"

yer alacaktır içerir GCC

+3

çalışmasında bulundu, ancak PATH ortam değişkeni içinde "C: \ MinGW \ bin" yazmanız ve daha önce yeniden başlatmanız gerekiyor. _gcc_ komutu bilinmiyor. – Jook

0

seçmek için senin artırmak kök klasörüne (boost_1_58_00/boost) ve belirtilen yapı klasörüne adresinden ikili de.