मैं (1.4-3 ver) वी.एस. 2008 में बूस्ट का एक सरल ट्यूटोरियल :: थ्रेड पालन करने के लिए कोशिश कर रहा हूँ:बढ़ावा :: धागा निर्माण त्रुटि (लिंक करने में असमर्थ lib && अनसुलझे बाह्य)
#include <boost/thread/thread.hpp>
void Func()
{
// Do something
}
void main()
{
boost::thread _thrd(&Func);
_thrd.join();
....
}
के दौरान
Error 1 fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-gd-1_43.lib' CConsole
जो मैं #define BOOST_ALL_NO_LIB
जोड़कर हल करने के लिए है: संकलन यह इस त्रुटि पैदा करता है।
Error 3 fatal error LNK1120: 2 unresolved externals
C:\xx\Documents\Visual Studio 2008\Projects\CConsole\Debug\CConsole.exe
Error 1 error LNK2019: unresolved external symbol "public: __thiscall boost::thread::~thread(void)" ([email protected]@@[email protected]) referenced in function _wmain CConsole.obj
Error 2 error LNK2019: unresolved external symbol "private: void __thiscall boost::thread::start_thread(void)" ([email protected]@[email protected]@AAEXXZ) referenced in function "public: __thiscall boost::thread::thread<void (__cdecl*)(void)>(void (__cdecl*)(void),struct boost::thread::dummy *)" ([email protected]@[email protected]@[email protected]@[email protected]@Z) CConsole.obj
किसी को भी समस्या का समाधान कैसे पता है: हालांकि, यह मुझे एक और त्रुटि देता है?
धन्यवाद।
बूस्ट के सभी हिस्सों में केवल हेडर ही नहीं हैं। आपको उपयुक्त सीपीपी फाइलों (अनुशंसित नहीं) या (आमतौर पर बेहतर) को एक स्थिर लाइब्रेरी बनाने की आवश्यकता है जिसमें आप अपनी परियोजना को लिंक कर सकते हैं। – stinky472
हाय stinky472, मैं lib फ़ाइल को लिंक करता हूं, हालांकि मुझे लगता है कि फ़ाइल का नाम थोड़ा अंतर है, इसलिए मैं फ़ाइल का नाम बदलता हूं और ऐसा लगता है। धन्यवाद। – csa
आपके द्वारा निर्मित किस प्रकार की lib के आधार पर lib परिवर्तन का नाम: स्थैतिक/गतिशील, डीबग/रिलीज, सिंगल/मल्टीथ्रेडिंग .... आपको नाम बदलना नहीं चाहिए, लेकिन सही lib का निर्माण करना चाहिए जिसे आपको पैरामीटर का उपयोग करने की आवश्यकता है bjam निर्माता। – nabulke