On Thu, Jan 14, 2016 at 4:48 AM, Dalong Cheng <[email protected]> wrote:

> I compiled protobuf with nmake in my win7 machine, using VS 12.0 tool
> chain and nmake check show the result pass all the tests. I compiled with
> -Dprotobuf_BUILD_SHARED_LIBS=ON. Everything seems fine, while, when I use
> libprotobuf.lib and libprotobuf.dll in my own project (configured with
> Release Win32 platform), it just prompt linking errors, I have added
> #define PROTOBUF_USE_DLLS in code. I have really been working on this issue
> for long time, still have no clues. Any message is really appreciate,
> thanks!
>
It's likely that you missed some flags in your project configuration. Try
to copy the flags used in the tests project to your project.


>
> ========Full Error Message Below ================
> Error 11 error LNK2001: unresolved external symbol "int
> google::protobuf::internal::empty_string_once_init_"
> (?empty_string_once_init_@internal@protobuf@google@@3HA)
> C:\hydra\CatsTradeMktUpdt\CatsMktUpdt\ProtoBufMsg.pb.obj CatsMktUpdt
> Error 12 error LNK2001: unresolved external symbol "class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const * const
> google::protobuf::internal::empty_string_" (?empty_string_@internal
> @protobuf@google@@3PBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D
> @2@@std@@B) C:\hydra\CatsTradeMktUpdt\CatsMktUpdt\ProtoBufMsg.pb.obj
> CatsMktUpdt
> Error 13 error LNK1120: 2 unresolved externals
> C:\hydra\CatsTradeMktUpdt\Release_bin\CatsMktUpdt.exe CatsMktUpdt
>
>
> ========Full Warning Message Below ==================
> Warning 3 warning C4251:
> 'google::protobuf::internal::LogMessage::message_' : class
> 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs
> to have dll-interface to be used by clients of class
> 'google::protobuf::internal::LogMessage'
> C:\hydra\CatsTradeMktUpdt\include\google\protobuf\stubs\logging.h 100 1
> CatsMktUpdt
> Warning 4 warning C4251:
> 'google::protobuf::Arena::lifecycle_id_generator_' : class
> 'google::protobuf::internal::SequenceNumber' needs to have dll-interface to
> be used by clients of class 'google::protobuf::Arena'
> C:\hydra\CatsTradeMktUpdt\include\google\protobuf\arena.h 545 1
> CatsMktUpdt
> Warning 5 warning C4251: 'google::protobuf::Arena::options_' : struct
> 'google::protobuf::ArenaOptions' needs to have dll-interface to be used by
> clients of class 'google::protobuf::Arena'
> C:\hydra\CatsTradeMktUpdt\include\google\protobuf\arena.h 904 1
> CatsMktUpdt
> Warning 6 warning C4251: 'google::protobuf::DescriptorPool::tables_' :
> class
> 'google::protobuf::internal::scoped_ptr<google::protobuf::DescriptorPool::Tables>'
> needs to have dll-interface to be used by clients of class
> 'google::protobuf::DescriptorPool'
> C:\hydra\CatsTradeMktUpdt\include\google\protobuf\descriptor.h 1594 1
> CatsMktUpdt
> Warning 7 warning C4251:
> 'google::protobuf::DescriptorPool::unused_import_track_files_' : class
> 'std::set<std::string,std::less<_Kty>,std::allocator<_Ty>>' needs to have
> dll-interface to be used by clients of class
> 'google::protobuf::DescriptorPool'
> C:\hydra\CatsTradeMktUpdt\include\google\protobuf\descriptor.h 1599 1
> CatsMktUpdt
> Warning 8 warning C4251:
> 'google::protobuf::internal::ExtensionSet::extensions_' : class
> 'std::map<int,google::protobuf::internal::ExtensionSet::Extension,std::less<_Kty>,std::allocator<std::pair<const
> _Kty,_Ty>>>' needs to have dll-interface to be used by clients of class
> 'google::protobuf::internal::ExtensionSet'
> C:\hydra\CatsTradeMktUpdt\include\google\protobuf\extension_set.h 611 1
> CatsMktUpdt
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Protocol Buffers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/protobuf.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to