का उपयोग करते समय जब रिलीज़ मोड में अपने प्रोजेक्ट को जोड़ने मैं निम्न चेतावनी हो रही है "डुप्लिकेट अनुभाग विभिन्न आकार की है":Regex बूस्ट रिलीज़ मोड में जोड़ने पुस्तकालय ने चेतावनी दी है MinGW-W64 toolchain
myProject-libs/release/libboost_regex-mt-s-1.50.0.a(cpp_regex_traits.o): duplicate section `.data$_ZZN5boost16cpp_regex_traitsIcE21get_catalog_name_instEvE6s_name[boost::cpp_regex_traits<char>::get_catalog_name_inst()::s_name]' has different size
मुझे लगता है कि संदेह है कारण यह हो सकता है कि बूस्ट लाइब्रेरी को मेरे प्रोजेक्ट के लिए अलग-अलग विकल्पों के साथ संकलित किया गया है, लेकिन मुझे नहीं पता कि अंतर कैसे ढूंढें (बूस्ट ने बिल्ड के दौरान इन विकल्पों को आउटपुट नहीं किया)।
आदेश Ubuntu 12.04 पर Win32 के लिए बढ़ावा संकलन करने में मैं इस प्रक्रिया का इस्तेमाल किया:
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
आदेश अपने प्रोजेक्ट में फ़ाइलों को संकलित करने के लिए मैं की तरह
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
कुछ परीक्षण मैं का उपयोग में इंगित करता है कि regexps ठीक चल रहा है लेकिन फिर भी मैं चेतावनी को हल करना चाहता हूं।
संपादित
मैंने पाया कि बढ़ावा संकलक करने के लिए अतिरिक्त विकल्प एक cxxflags = bjam के तर्क का उपयोग जोड़ा जा सकता है।
उदाहरण: bjam cxxflags = '- FPIC' ....
हो सकता है कि के रूप में मैं इस परियोजना के लिए कर के रूप में में सुझाव समस्या (विशेष रूप से अनुकूलन से संबंधित तर्क को हल कर सकता है एक ही तर्क पारित करने के लिए सुनिश्चित करने के जुड़ा सवाल)।
आप उस कमांड लाइन के साथ लिनक्स में इतनी अच्छी तरह से बढ़ावा देने में कामयाब रहे !? पिछली बार मैंने कोशिश की कि मुझे कई घंटे लगे। मैं इसके कारण सिर्फ आपके प्रश्न को उखाड़ फेंक रहा हूं। – dsign
यह वास्तव में मुझे नहीं था, बस पहले से ही भूल गए पृष्ठ से कॉपी और पेस्ट करें, लेकिन मुझे हजारों बिखरी हुई युक्तियों और चालों के बीच इतना अच्छा शॉर्ट कोड खोजने में काफी समय लगा। –
मुझे विंडोज 7 64 पर mingw-w64 (gcc 4.7.1, boost 1.51.0) के साथ यह 'समस्या' भी मिली है, लेकिन mingw (gcc 4.7.0) के साथ नहीं। शायद यह mingw-w64 की समस्या है? – user573335