Ben VS 2008 (1.4-3 ver) basit Boost öğretici :: Konu izlemeye çalışıyorum:boost :: iplik inşa hatası (bağlantılandıramayabiliriz lib && dış çözülmedi)
#include <boost/thread/thread.hpp>
void Func()
{
// Do something
}
void main()
{
boost::thread _thrd(&Func);
_thrd.join();
....
}
sırasında
Error 1 fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-gd-1_43.lib' CConsole
Ben #define BOOST_ALL_NO_LIB
ekleyerek çözmek zorunda: derleme bu hatayı üretir.
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
kimse sorunun nasıl çözüleceği biliyor mu
: Ancak, bana başka hata veriyor?Teşekkürler.
Boost'un tüm parçaları yalnızca başlık değil. Uygun cpp dosyalarını (önerilmez) veya (genellikle daha iyi) projenize bağlayabileceğiniz statik bir kütüphane oluşturmanız gerekir. – stinky472
Merhaba stinky472, Ben lib dosyasını bağladım, ancak dosya isminin bit fark olduğunu fark ettim, bu yüzden dosyayı yeniden adlandırıyorum ve işe yaramış görünüyor. Teşekkürler. – csa
lib'in adı, ne tür bir lib geliştirdiğinize bağlı olarak değişir: statik/dinamik, debug/release, single/multithreading .... Bu ismi değiştiremezsiniz, ancak parametrelere ihtiyacınız olan doğru librayı bjam-oluşturucu. – nabulke