8

लिंक करने का प्रयास कर रहा हूं, मैं अपने प्रोग्राम को संकलित करने की कोशिश कर रहा हूं लेकिन यह बिल्कुल लिंक नहीं होगा। मैंने बूस्ट lib फ़ाइलों को बढ़ावा देने के लिए पथ निर्दिष्ट किया है और लिंकर अभी भी शिकायत करता है। यहाँ लिंक करने में त्रुटि मुझे मिल गया है:बूस्ट 1.52 थ्रेड

1>Edproj.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" ([email protected]@[email protected]@[email protected]@XZ) 
1>Edproj.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" ([email protected]@[email protected]@[email protected]@XZ) 
1>Edproj.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall boost::detail::thread_data_base::~thread_data_base(void)" ([email protected]@[email protected]@[email protected]) 
1>Edproj.obj : error LNK2001: unresolved external symbol "void __cdecl boost::throw_exception(class std::exception const &)" ([email protected]@@[email protected]@@@Z) 
1>Edproj.obj : error LNK2001: unresolved external symbol "public: void __thiscall boost::thread::detach(void)" ([email protected]@[email protected]@QAEXXZ) 
1>Edproj.obj : error LNK2001: unresolved external symbol "public: void __thiscall boost::thread::join(void)" ([email protected]@[email protected]@QAEXXZ) 
1>Edproj.obj : error LNK2001: unresolved external symbol "private: void __thiscall boost::thread::start_thread(void)" ([email protected]@[email protected]@AAEXXZ) 
1>Edproj.obj : error LNK2001: unresolved external symbol "bool __cdecl boost::this_thread::interruptible_wait(void *,struct boost::detail::timeout)" ([email protected][email protected]@@[email protected]@[email protected]@Z) 

BOOST_LIB_DIAGNOSTIC रिटर्न

1> Linking to lib file: libboost_thread-vc100-mt-s-1_52.lib 
1> Linking to lib file: libboost_date_time-vc100-mt-s-1_52.lib 
1> Linking to lib file: libboost_system-vc100-mt-s-1_52.lib 
1> Linking to lib file: libboost_chrono-vc100-mt-s-1_52.lib 

और जानकारी:

मैं चला रहा हूँ एक 64-बिट Windows 8 प्रो और मैं निम्नलिखित विकल्प के साथ बढ़ावा संकलित

bjam --build-type=complete --toolset=msvc10.0 address-model=64 architecture=x86 variant=debug,release threading=multi link=static runtime-link=static 

क्या कोई मुझे बता सकता है कि क्या गलत है?

अद्यतन: यह एक अभी भी लगातार

error LNK2001: unresolved external symbol "void __cdecl boost::throw_exception(class std::exception const &)" ([email protected]@@[email protected]@@@Z) 

मैं यहाँ क्या हो रहा है नहीं मिलता है है

1.51 यह 7 छुटकारा उन लिंकर त्रुटियों की 8 से बाहर हो गया बढ़ावा देने के लिए बदलने के बाद लेकिन। यह बूस्टप्रो 32 बिट इंस्टॉलर से है। यह मेरे स्रोत फ़ाइल के साथ कुछ करने के लिए सही नहीं हो सकता है?

अद्यतन:

ठीक है मैं बढ़ावा 1.51 के लिए इस समस्या का समाधान है। संपत्ति पन्ने में बदल जाता है >> सी/सी ++ >> कोड जनरेशन >> सक्षम करें ++ अपवाद मेरे लिए बंद कर दिया गया था।

ठीक है। मैं यह देखने का प्रयास करूंगा कि क्या वही सेटिंग्स 1.52 को बढ़ावा देने के लिए समस्या का समाधान करती हैं। बाद में अपडेट होगा।

+0

आप ज्यादा मदद नहीं कर सकता, लेकिन मैं बढ़ावा-समर्थक से prebuilts उपयोग किया गया है यह संस्थापक –

+0

साथ के साथ एक पहले से बनाए गए बढ़ावा पैकेज है हाँ, मैं यह देखने के लिए कि क्या मैं इसे काम पर ला सकता हूं, अब मैं बूस्ट प्रो के माध्यम से 1_51 बिल्ड प्राप्त करने की कोशिश कर रहा हूं। –

+2

अपवादों को सक्षम करने पर अच्छी पकड़। यह मेरे मामले में काम किया। –

उत्तर

0

लिंकर गुणों में सही निर्देशिकाएं जोड़ना सुनिश्चित करें।

अधिक जानकारी के Boost linker error: Unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::get_system_category(void)"

इसके अलावा करने के लिए इस पोस्ट पढ़ें आप लिंकर अलावा निर्देशिका में इस मार्ग को जोड़ने के लिए मिल गया है:

$ (BOOST_ROOT) \ bin.v2 \ libs \ धागा \ निर्माण \ MSVC -xx.0 \ रिहाई \ पते मॉडल -64 \ लिंक स्थैतिक \ सूत्रण-बहु

जहां xx आपके दृश्य स्टूडियो संस्करण है

+0

हाय, मैंने अपना प्रश्न पोस्ट करने से पहले उस पोस्ट पर ठोकर खाई। वहाँ कहा गया सामान किया है लेकिन अभी भी कोई भाग्य नहीं है। –

+0

क्या आप यहां अपनी लिंकर अतिरिक्त निर्देशिका पोस्ट कर सकते हैं? –

+0

$ (बूस्ट) चरण \ lib \; $ (लाइब्रेरीपैथ) बूस्ट सी है: \ Dev \ boost_1_52_0 \ –

0

धन्यवाद इसकी कोई ऑटो सही ढंग से जोड़ने की तरह मुझे लग रहा है।

Include path is boost152/ only 
Library path is boost152/stage/lib 
+0

हम्म ... मैं गया और काउंटर चेक किया। मैं जैसे मेरी वातावरण चर की स्थापना की है: '$ (बूस्ट) =% देव% \ boost_1_52_0 \' जहां '% देव% C: \ देव \' संपत्ति मैं और कुलपति ++ निर्देशिका में के तहत निम्नलिखित था: 'शामिल करें: $ (बूस्ट)' 'लाइब्रेरी: $ (बूस्ट) चरण \ lib \' –

0

इन दो परिभाषित करता है नीचे मेरे लिंकर साथ खिलवाड़ कर रहे थे, फेंक एक सुंदर "LNK2001: अनसुलझे बाह्य प्रतीक" त्रुटि। क्या आपके पास कहीं आपके कोड में है? मैं डिफ़ॉल्ट पैरामीटर जो bootstrap.bat सीधे चलाने के साथ बढ़ावा lib का निर्माण:

//#define BOOST_FILESYSTEM_NO_DEPRECATED 
//#define BOOST_FILESYSTEM_NO_LIB 
1

मैं पहले की तरह ही समस्या थी।

यदि आप बूस्ट :: सिस्टम का उपयोग अपनी परियोजना में करते हैं, तो आपको बूस्ट :: सिस्टम lib के x86 या x64 संस्करण का उपयोग और नियुक्त करना चाहिए।

आप इस बल्ले के साथ बूस्ट lib को पुन: संकलित कर सकते हैं, रूट फ़ोल्डर को बढ़ावा देने और इसे सीएमडी विंडो में चलाने के लिए इन्हें बचाएं (डबल क्लिक न करें!):

call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86 

cd boost_1_60_0 
call bootstrap.bat 

rem Most libraries can be static libs 
b2 -j8 toolset=msvc-14.0 address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/x64 
b2 -j8 toolset=msvc-14.0 address-model=32 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/win32 

pause 

अधिक जानकारी के लिए आप इस लेख देख सकते हैं: https://studiofreya.com/2015/12/19/how-to-build-boost-1-60-with-visual-studio-2015/

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^