2012-07-24 13 views
10

kullanırken "yinelenen bölüm farklı boyuta sahip" uyarıyor çünkü destek kütüphanesi, projem için kullandığımdan farklı seçenekler ile derlenmiş olabilir, ancak farkı nasıl bulacağımı bilmiyorum (destek, bu seçenekleri yapım sırasında çıkarmadı). Bu prosedür kullanılan Ubuntu 12.04 üzerinde win32'de hızlanacağını derlemek amacıylaRegex Boost kütüphanesi aşağıdaki uyarıyı alıyorum sürüm modunda projemi bağlarken mingw-w64 toolchain

:

Ben

i686-w64-mingw32-g++ -march=corei7 -mfpmath=sse -m32 -Wall -fmessage-length=0 -I"/opt/boost_1_50_0-release-static-windows-32/include" -std=c++0x -O3 -g0 -DNDEBUG -I"myProject/src/cpp" -c -o myProject/build/release/src/cpp/myproject.o myproject/src/cpp/myproject.cpp 

gibi bir şey ben testler kullanmak projemde dosyaları derlemek için

tar jxf boost_1_50_0.tar.bz2 
cd boost_1_50_0 
./bootstrap.sh 
echo "using gcc : 4.6 : i686-w64-mingw32-g++ : <rc>i686-w64-mingw32-windres <archiver>i686-w64-mingw32-ar ;" > user-config.jam 
./bjam toolset=gcc target-os=windows --address-model=32 variant=release threading=multi threadapi=win32 link=static runtime-link=static --prefix=/opt/boost_1_50_0-release-static-windows-32 --user-config=user-config.jam -j 10 --without-mpi --without-python -sNO_BZIP2=1 -sNO_ZLIB=1 --layout=tagged install 

regex'lerin iyi çalıştığını ama yine de uyarıyı çözmek istediğimi belirtin.

DÜZENLEME

ben artırmak derleyici ek seçenekler bjam bir CXXFLAGS = argüman kullanılarak eklenebilir bulundu.

Örnek: bjam CXXFLAGS = '- FPIC' ....

Belki de önerildiği gibi problemi (optimizasyonlar ile ilgili özellikle argümanları çözebilecek projeye yapmak aynı argümanları geçmek emin bağlantılı soru).

+0

O komut satırı ile linux kadar düzgünce boost derlemek başardı !? Son kez denedim, birkaç saat sürdü. Sadece bunun yüzünden sorumu ele alıyorum. – dsign

+1

Gerçekten benim, sadece kopyalayıp zaten unutulmuş sayfasından yapıştırın fakat bu bana dağınık ipuçları ve binlerce arasında böyle güzel bir kısa kod bulmak için uzun bir zaman aldı değildi. –

+3

ben de ancak MinGW (gcc 4.7.0) ile, pencerelerin mingw-W64 ile 7 64 (gcc 4.7.1, boost 1.51.0) bu 'sorunu' var. belki bu bir mingw-w64 problemidir? – user573335

cevap

3

Kişisel derleyiciler aynı şekilde adlandırılmış .data segmentin olup bir durumda, Windows sonucu Linux üzerinde kütüphane ve Programın derlenmesi :) farklı seçeneklerle derlenmiş, ancak aynı boyutta değildir bulundu. Bir veri segmenti yazılabilir olduğu için teorik olarak ilginç olabilir, ancak pratikte, önemli olmamalı. Bunun kanıtlanmayacağına dair bir kanıt olmadığı sürece, bu uyarıyı güvenle kaldırabilirsiniz; Yine de nasıl uzaklaşacağını bilmiyorum.

+2

muhtemelen derleyicilerinin biraz farklı versiyonlarını kullandım, ancak şimdi ben artırmak projeyle aynı derleyici ile derlendiğini eminim ve ben hala uyarılar var . –

+0

Projenin bazı bölümlerinin -Os ve diğerlerinin optimizasyon olmadan derlenmiş olması, aynı derleyici kullanıldığında da bu sorunu tetiklediğini fark ettim. – gabry

İlgili konular