2016-04-18 115 views
1

我试图编译使用msvc2010一个Qt 5.5的应用程序。然而每当我尝试构建它时,我都会遇到几个与boost :: iostreams有关的链接器错误。与升压QT链接错误iostreams的

packagehandler.obj:-1: error: LNK2019: unresolved external symbol "public: void __thiscall boost::iostreams::detail::gzip_header::reset(void)" ([email protected][email protected]@[email protected]@@QAEXXZ) referenced in function "public: __thiscall boost::iostreams::detail::gzip_header::gzip_header(void)" ([email protected]@[email protected]@@[email protected]) 
packagehandler.obj:-1: error: LNK2019: unresolved external symbol "public: void __thiscall boost::iostreams::detail::gzip_footer::reset(void)" ([email protected][email protected]@[email protected]@@QAEXXZ) referenced in function "public: __thiscall boost::iostreams::detail::gzip_footer::gzip_footer(void)" ([email protected]@[email protected]@@[email protected]) 
packagehandler.obj:-1: error: LNK2001: unresolved external symbol "int const boost::iostreams::zlib::default_compression" ([email protected]@[email protected]@@3HB) 
packagehandler.obj:-1: error: LNK2001: unresolved external symbol "int const boost::iostreams::zlib::deflated" ([email protected]@[email protected]@@3HB) 
packagehandler.obj:-1: error: LNK2001: unresolved external symbol "int const boost::iostreams::zlib::default_strategy" ([email protected]@[email protected]@@3HB) 
packagehandler.obj:-1: error: LNK2019: unresolved external symbol "protected: __thiscall boost::iostreams::detail::zlib_base::~zlib_base(void)" ([email protected]@[email protected]@@[email protected]) referenced in function [email protected][email protected]@[email protected]@@[email protected]@[email protected]@[email protected][email protected]@@Z$0 
packagehandler.obj:-1: error: LNK2019: unresolved external symbol "protected: __thiscall boost::iostreams::detail::zlib_base::zlib_base(void)" ([email protected]@[email protected]@@[email protected]) referenced in function "public: __thiscall boost::iostreams::detail::zlib_decompressor_impl<class std::allocator<char> >::zlib_decompressor_impl<class std::allocator<char> >(struct boost::iostreams::zlib_params const &)" ([email protected][email protected]@[email protected]@@[email protected]@[email protected]@[email protected][email protected]@@Z) 
packagehandler.obj:-1: error: LNK2019: unresolved external symbol "protected: void __thiscall boost::iostreams::detail::zlib_base::reset(bool,bool)" ([email protected][email protected]@[email protected]@@[email protected]) referenced in function "public: __thiscall boost::iostreams::detail::zlib_decompressor_impl<class std::allocator<char> >::~zlib_decompressor_impl<class std::allocator<char> >(void)" ([email protected][email protected]@[email protected]@@[email protected]@[email protected]@[email protected]) 
packagehandler.obj:-1: error: LNK2019: unresolved external symbol "private: void __thiscall boost::iostreams::detail::zlib_base::do_init(struct boost::iostreams::zlib_params const &,bool,void * (__cdecl*)(void *,unsigned int,unsigned int),void (__cdecl*)(void *,void *),void *)" ([email protected][email protected]@[email protected]@@[email protected]@[email protected]@[email protected]) referenced in function "protected: void __thiscall boost::iostreams::detail::zlib_base::init<class std::allocator<char> >(struct boost::iostreams::zlib_params const &,bool,struct boost::iostreams::detail::zlib_allocator<class std::allocator<char>,class std::allocator<char> > &)" ([email protected][email protected]@[email protected]@@[email protected]@[email protected]@@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@Z) 
packagehandler.obj:-1: error: LNK2019: unresolved external symbol "public: void __thiscall boost::iostreams::detail::gzip_footer::process(char)" ([email protected][email protected]@[email protected]@@[email protected]) referenced in function [email protected][email protected][email protected]@[email protected]@@[email protected]@[email protected]@@[email protected][email protected]@[email protected]@@[email protected]@@[email protected][email protected]@[email protected]@@[email protected]@[email protected]$0 
packagehandler.obj:-1: error: LNK2019: unresolved external symbol "public: void __thiscall boost::iostreams::detail::gzip_header::process(char)" ([email protected][email protected]@[email protected]@@[email protected]) referenced in function "public: __int64 __thiscall boost::iostreams::basic_gzip_decompressor<class std::allocator<char> >::read<class boost::iostreams::detail::linked_streambuf<char,struct std::char_traits<char> > >(class boost::iostreams::detail::linked_streambuf<char,struct std::char_traits<char> > &,char *,__int64)" ([email protected][email protected][email protected]@[email protected]@@[email protected]@[email protected]@@[email protected][email protected]@[email protected]@@[email protected]@@[email protected][email protected]@[email protected]@@[email protected]@[email protected]) 
packagehandler.obj:-1: error: LNK2001: unresolved external symbol "int const boost::iostreams::zlib::okay" ([email protected]@[email protected]@@3HB) 
packagehandler.obj:-1: error: LNK2001: unresolved external symbol "int const boost::iostreams::zlib::stream_end" ([email protected]@[email protected]@@3HB) 
packagehandler.obj:-1: error: LNK2019: unresolved external symbol "public: static void __cdecl boost::iostreams::zlib_error::check(int)" ([email protected][email protected]@[email protected]@[email protected]) referenced in function "public: bool __thiscall boost::iostreams::detail::zlib_decompressor_impl<class std::allocator<char> >::filter(char const * &,char const *,char * &,char *,bool)" ([email protected][email protected][email protected]@[email protected]@@[email protected]@[email protected]@[email protected]) 
packagehandler.obj:-1: error: LNK2019: unresolved external symbol "protected: void __thiscall boost::iostreams::detail::zlib_base::after(char const * &,char * &,bool)" ([email protected][email protected]@[email protected]@@[email protected]) referenced in function "public: bool __thiscall boost::iostreams::detail::zlib_decompressor_impl<class std::allocator<char> >::filter(char const * &,char const *,char * &,char *,bool)" ([email protected][email protected][email protected]@[email protected]@@[email protected]@[email protected]@[email protected]) 
packagehandler.obj:-1: error: LNK2019: unresolved external symbol "protected: int __thiscall boost::iostreams::detail::zlib_base::xinflate(int)" ([email protected][email protected]@[email protected]@@[email protected]) referenced in function "public: bool __thiscall boost::iostreams::detail::zlib_decompressor_impl<class std::allocator<char> >::filter(char const * &,char const *,char * &,char *,bool)" ([email protected][email protected][email protected]@[email protected]@@[email protected]@[email protected]@[email protected]) 
packagehandler.obj:-1: error: LNK2001: unresolved external symbol "int const boost::iostreams::zlib::sync_flush" ([email protected]@[email protected]@@3HB) 
packagehandler.obj:-1: error: LNK2019: unresolved external symbol "protected: void __thiscall boost::iostreams::detail::zlib_base::before(char const * &,char const *,char * &,char *)" ([email protected][email protected]@[email protected]@@[email protected]) referenced in function "public: bool __thiscall boost::iostreams::detail::zlib_decompressor_impl<class std::allocator<char> >::filter(char const * &,char const *,char * &,char *,bool)" ([email protected][email protected][email protected]@[email protected]@@[email protected]@[email protected]@[email protected]) 
debug\EmbeddedBoardTestScriptUtility.exe:-1: error: LNK1120: 18 unresolved externals 
+0

TL; DR:使用C++的API,当连接在一起,必须使用Visual Studio的同一主要版本进行编译,至少是所有C++代码。 –

+0

@KubaOber也许我的问题是不清楚,我重建提振了msvc2010。我不使用msvc2008的.DLL – CountBale

回答

0

您应该检查是否libboost_iostreams的.lib库是在你的Boost库目录可用,如果如果在连接连接器项目设置目录和链接库的正确链接。

如果你编译升压和对升压编译怀疑(它可以排除一些项目的许多选项进行编译),你可以使用预编译的二进制可在SourceForge上[1]。

[1] https://sourceforge.net/projects/boost/files/boost-binaries/1.60.0/

+0

这是可用的,我尝试重命名文件和程序未能在所有的编译,从来没有去到链接器。 – CountBale

+0

您确定您的PC上只有一个Boost版本?您正在编译哪种体系结构(32位或64位)?您正在链接的Boost版本与您正在编译的架构相同吗? –

+0

我安装了提升(一个编译msvc2008,一个用于msvc2010)两个版本,但我已经证实,它正试图链接到正确的。是的,都是32位。我使用boost :: chrono进行了测试,并且链接正确,这似乎是该库特别的问题。 – CountBale