Re: noob link errors
That must have been the problem. This time, I started over and only used 2008, everything worked fine. On Apr 8, 5:07 pm, Kenton Varda wrote: > I don't think a libprotobuf compiled with VS2008 will work correctly with a > project compiled in VS2003. Microsoft has a tendency to change the layout > of their STL objects frequently (even debug vs. release versions of the > standard library have different STL layouts), and libprotobuf uses STL > extensively in its interface. You will probably see weird crashes if you > can get it to compile at all. > > On Wed, Apr 8, 2009 at 3:02 PM, wrote: > > > Well, now I'm convinced my problem was directly related to visual > > studio. I originally started this project in VS2003 so I wouldn't have > > to cart around a bunch of vc90 dlls. However, I build libprotobuf in > > vs 2008. That threw me off at one point, I thought my problems were > > related to the version difference, so I opened my test project in > > vs2008, and my solution/project files were upgraded to 2008. I still > > had the same linking errors and came here. After you confirmed I > > should link directly to the .lib file, I started over. I created a > > fresh project and meticulously added files and built after each file. > > By the time I was finished adding files, I still didn't have any > > linker errors. I don't know what the problem was, but it's working > > now. > > > On Apr 8, 4:10 pm, Kenton Varda wrote: > > > On Wed, Apr 8, 2009 at 2:01 PM, wrote: > > > > > I don't know how else to link to libprotobuf.lib. Here's the resulting > > > > command lines of the options I've tried: > > > > > /LIBPATH :"C:\Development\Libraries\lib" contains the output of the > > > > files built using the project files in vsprojects folder included in > > > > the protobuf source. > > > > > First, I'm not speciyfing libprotobuf.lib, but including the libpath > > > > containing libprotobuf.lib (I think this is the way I'm supposed to > > > > link it): > > > > No, you have to explicitly specify libprotobuf.lib. The compiler will > > not > > > automatically try to link everything in the directory. > > > > Sorry, I'm not very familiar with MSVC so I'm not sure exactly what you > > have > > > to do, but you *do* have to explicitly specify libprotobuf.lib. > > > > > /OUT:"Release/backupcomm.exe" /NOLOGO /LIBPATH:"C:\Development > > > > \Libraries\lib" /LIBPATH:"C:\Program Files\Microsoft Platform SDK > > > > \Lib" /MANIFEST /MANIFESTFILE:"Release > > > > \backupcomm.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' > > > > uiAccess='false'" /DEBUG /PDB:"c:\Development\Projects\BackupDirector > > > > \v2\backupcomm\backupcomm\Release\backupcomm.pdb" /SUBSYSTEM:CONSOLE / > > > > OPT:REF /OPT:ICF /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT > > > > ws2_32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib > > > > comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib > > > > odbc32.lib odbccp32.lib > > > > > Explicitly specifying libprotobuf.lib as well: > > > > > /OUT:"Release/backupcomm.exe" /NOLOGO /LIBPATH:"C:\Development > > > > \Libraries\lib" /LIBPATH:"C:\Program Files\Microsoft Platform SDK > > > > \Lib" /MANIFEST /MANIFESTFILE:"Release > > > > \backupcomm.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' > > > > uiAccess='false'" /DEBUG /PDB:"c:\Development\Projects\BackupDirector > > > > \v2\backupcomm\backupcomm\Release\backupcomm.pdb" /SUBSYSTEM:CONSOLE / > > > > OPT:REF /OPT:ICF /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT > > > > ws2_32.lib wsock32.lib c:\development\libraries\lib\libprotobuf.lib > > > > kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib > > > > advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib > > > > odbccp32.lib > > > > > On Apr 8, 1:09 pm, Kenton Varda wrote: > > > > > It appears you are not linking against libprotobuf.lib. > > > > > > On Wed, Apr 8, 2009 at 8:28 AM, wrote: > > > > > > > I think part of my problem was using precompiled headers in the > > > > > > project. I've removed that option and recreated my project, but I > > > > > > still get these linker errors: > > > > > > > backupcomm error LNK2019: unresolved external symbol "public: > > static > > > > > > class google::protobuf::MessageFactory * __cdecl > > > > > > google::protobuf::MessageFactory::generated_factory(void)" (? > > > > > > generated_fact...@messagefactory@proto...@google@@sapav...@xz) > > > > > > referenced in function "public: __thiscall > > backupcomm::Actions::Actions > > > > > > (void)" (??0acti...@backupcomm@@q...@xz) > > > > > > backupcomm error LNK2019: unresolved external symbol "public: > > static > > > > > > void __cdecl > > > > > > google::protobuf::MessageFactory::InternalRegisterGeneratedMessage > > > > > > (class google::protobuf::Descriptor const *,class > > > > > > google::protobuf::Message const *)" (? > > > > > > internalregistergeneratedmess...@messagefactory@proto...@google > > > > > > @@saxpbvdescrip...@23@pbvm
Re: noob link errors
I don't think a libprotobuf compiled with VS2008 will work correctly with a project compiled in VS2003. Microsoft has a tendency to change the layout of their STL objects frequently (even debug vs. release versions of the standard library have different STL layouts), and libprotobuf uses STL extensively in its interface. You will probably see weird crashes if you can get it to compile at all. On Wed, Apr 8, 2009 at 3:02 PM, wrote: > > Well, now I'm convinced my problem was directly related to visual > studio. I originally started this project in VS2003 so I wouldn't have > to cart around a bunch of vc90 dlls. However, I build libprotobuf in > vs 2008. That threw me off at one point, I thought my problems were > related to the version difference, so I opened my test project in > vs2008, and my solution/project files were upgraded to 2008. I still > had the same linking errors and came here. After you confirmed I > should link directly to the .lib file, I started over. I created a > fresh project and meticulously added files and built after each file. > By the time I was finished adding files, I still didn't have any > linker errors. I don't know what the problem was, but it's working > now. > > > On Apr 8, 4:10 pm, Kenton Varda wrote: > > On Wed, Apr 8, 2009 at 2:01 PM, wrote: > > > > > I don't know how else to link to libprotobuf.lib. Here's the resulting > > > command lines of the options I've tried: > > > > > /LIBPATH :"C:\Development\Libraries\lib" contains the output of the > > > files built using the project files in vsprojects folder included in > > > the protobuf source. > > > > > First, I'm not speciyfing libprotobuf.lib, but including the libpath > > > containing libprotobuf.lib (I think this is the way I'm supposed to > > > link it): > > > > No, you have to explicitly specify libprotobuf.lib. The compiler will > not > > automatically try to link everything in the directory. > > > > Sorry, I'm not very familiar with MSVC so I'm not sure exactly what you > have > > to do, but you *do* have to explicitly specify libprotobuf.lib. > > > > > /OUT:"Release/backupcomm.exe" /NOLOGO /LIBPATH:"C:\Development > > > \Libraries\lib" /LIBPATH:"C:\Program Files\Microsoft Platform SDK > > > \Lib" /MANIFEST /MANIFESTFILE:"Release > > > \backupcomm.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' > > > uiAccess='false'" /DEBUG /PDB:"c:\Development\Projects\BackupDirector > > > \v2\backupcomm\backupcomm\Release\backupcomm.pdb" /SUBSYSTEM:CONSOLE / > > > OPT:REF /OPT:ICF /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT > > > ws2_32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib > > > comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib > > > odbc32.lib odbccp32.lib > > > > > Explicitly specifying libprotobuf.lib as well: > > > > > /OUT:"Release/backupcomm.exe" /NOLOGO /LIBPATH:"C:\Development > > > \Libraries\lib" /LIBPATH:"C:\Program Files\Microsoft Platform SDK > > > \Lib" /MANIFEST /MANIFESTFILE:"Release > > > \backupcomm.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' > > > uiAccess='false'" /DEBUG /PDB:"c:\Development\Projects\BackupDirector > > > \v2\backupcomm\backupcomm\Release\backupcomm.pdb" /SUBSYSTEM:CONSOLE / > > > OPT:REF /OPT:ICF /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT > > > ws2_32.lib wsock32.lib c:\development\libraries\lib\libprotobuf.lib > > > kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib > > > advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib > > > odbccp32.lib > > > > > On Apr 8, 1:09 pm, Kenton Varda wrote: > > > > It appears you are not linking against libprotobuf.lib. > > > > > > On Wed, Apr 8, 2009 at 8:28 AM, wrote: > > > > > > > I think part of my problem was using precompiled headers in the > > > > > project. I've removed that option and recreated my project, but I > > > > > still get these linker errors: > > > > > > > backupcomm error LNK2019: unresolved external symbol "public: > static > > > > > class google::protobuf::MessageFactory * __cdecl > > > > > google::protobuf::MessageFactory::generated_factory(void)" (? > > > > > generated_fact...@messagefactory@proto...@google@@sapav...@xz) > > > > > referenced in function "public: __thiscall > backupcomm::Actions::Actions > > > > > (void)" (??0acti...@backupcomm@@q...@xz) > > > > > backupcomm error LNK2019: unresolved external symbol "public: > static > > > > > void __cdecl > > > > > google::protobuf::MessageFactory::InternalRegisterGeneratedMessage > > > > > (class google::protobuf::Descriptor const *,class > > > > > google::protobuf::Message const *)" (? > > > > > internalregistergeneratedmess...@messagefactory@proto...@google > > > > > @@saxpbvdescrip...@23@pbvmess...@23@@Z) > > > > > referenced in function "void __cdecl > > > > > backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors > > > > > (class google::protobuf::FileDescriptor const *)" (? > > > > > protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm
Re: noob link errors
Well, now I'm convinced my problem was directly related to visual studio. I originally started this project in VS2003 so I wouldn't have to cart around a bunch of vc90 dlls. However, I build libprotobuf in vs 2008. That threw me off at one point, I thought my problems were related to the version difference, so I opened my test project in vs2008, and my solution/project files were upgraded to 2008. I still had the same linking errors and came here. After you confirmed I should link directly to the .lib file, I started over. I created a fresh project and meticulously added files and built after each file. By the time I was finished adding files, I still didn't have any linker errors. I don't know what the problem was, but it's working now. On Apr 8, 4:10 pm, Kenton Varda wrote: > On Wed, Apr 8, 2009 at 2:01 PM, wrote: > > > I don't know how else to link to libprotobuf.lib. Here's the resulting > > command lines of the options I've tried: > > > /LIBPATH :"C:\Development\Libraries\lib" contains the output of the > > files built using the project files in vsprojects folder included in > > the protobuf source. > > > First, I'm not speciyfing libprotobuf.lib, but including the libpath > > containing libprotobuf.lib (I think this is the way I'm supposed to > > link it): > > No, you have to explicitly specify libprotobuf.lib. The compiler will not > automatically try to link everything in the directory. > > Sorry, I'm not very familiar with MSVC so I'm not sure exactly what you have > to do, but you *do* have to explicitly specify libprotobuf.lib. > > > /OUT:"Release/backupcomm.exe" /NOLOGO /LIBPATH:"C:\Development > > \Libraries\lib" /LIBPATH:"C:\Program Files\Microsoft Platform SDK > > \Lib" /MANIFEST /MANIFESTFILE:"Release > > \backupcomm.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' > > uiAccess='false'" /DEBUG /PDB:"c:\Development\Projects\BackupDirector > > \v2\backupcomm\backupcomm\Release\backupcomm.pdb" /SUBSYSTEM:CONSOLE / > > OPT:REF /OPT:ICF /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT > > ws2_32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib > > comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib > > odbc32.lib odbccp32.lib > > > Explicitly specifying libprotobuf.lib as well: > > > /OUT:"Release/backupcomm.exe" /NOLOGO /LIBPATH:"C:\Development > > \Libraries\lib" /LIBPATH:"C:\Program Files\Microsoft Platform SDK > > \Lib" /MANIFEST /MANIFESTFILE:"Release > > \backupcomm.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' > > uiAccess='false'" /DEBUG /PDB:"c:\Development\Projects\BackupDirector > > \v2\backupcomm\backupcomm\Release\backupcomm.pdb" /SUBSYSTEM:CONSOLE / > > OPT:REF /OPT:ICF /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT > > ws2_32.lib wsock32.lib c:\development\libraries\lib\libprotobuf.lib > > kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib > > advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib > > odbccp32.lib > > > On Apr 8, 1:09 pm, Kenton Varda wrote: > > > It appears you are not linking against libprotobuf.lib. > > > > On Wed, Apr 8, 2009 at 8:28 AM, wrote: > > > > > I think part of my problem was using precompiled headers in the > > > > project. I've removed that option and recreated my project, but I > > > > still get these linker errors: > > > > > backupcomm error LNK2019: unresolved external symbol "public: static > > > > class google::protobuf::MessageFactory * __cdecl > > > > google::protobuf::MessageFactory::generated_factory(void)" (? > > > > generated_fact...@messagefactory@proto...@google@@sapav...@xz) > > > > referenced in function "public: __thiscall backupcomm::Actions::Actions > > > > (void)" (??0acti...@backupcomm@@q...@xz) > > > > backupcomm error LNK2019: unresolved external symbol "public: static > > > > void __cdecl > > > > google::protobuf::MessageFactory::InternalRegisterGeneratedMessage > > > > (class google::protobuf::Descriptor const *,class > > > > google::protobuf::Message const *)" (? > > > > internalregistergeneratedmess...@messagefactory@proto...@google > > > > @@saxpbvdescrip...@23@pbvmess...@23@@Z) > > > > referenced in function "void __cdecl > > > > backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors > > > > (class google::protobuf::FileDescriptor const *)" (? > > > > protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm > > > > @@yaxpbvfiledescrip...@protobuf@google@@@Z) > > > > backupcomm error LNK2019: unresolved external symbol "public: > > > > __thiscall > > > google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection > > > > (class google::protobuf::Descriptor const *,class > > > > google::protobuf::Message const *,int const * const,int,int,int,class > > > > google::protobuf::DescriptorPool const *,int)" (?? > > > > 0generatedmessagereflect...@internal@proto...@google > > @@q...@pbvdescriptor > > > > @2...@pbvmessage@2...@qbpbvdescriptorpool@2...@h@Z) > > > > referenced in function "void __cdecl
Re: noob link errors
On Wed, Apr 8, 2009 at 2:01 PM, wrote: > > I don't know how else to link to libprotobuf.lib. Here's the resulting > command lines of the options I've tried: > > /LIBPATH :"C:\Development\Libraries\lib" contains the output of the > files built using the project files in vsprojects folder included in > the protobuf source. > > First, I'm not speciyfing libprotobuf.lib, but including the libpath > containing libprotobuf.lib (I think this is the way I'm supposed to > link it): No, you have to explicitly specify libprotobuf.lib. The compiler will not automatically try to link everything in the directory. Sorry, I'm not very familiar with MSVC so I'm not sure exactly what you have to do, but you *do* have to explicitly specify libprotobuf.lib. > > > /OUT:"Release/backupcomm.exe" /NOLOGO /LIBPATH:"C:\Development > \Libraries\lib" /LIBPATH:"C:\Program Files\Microsoft Platform SDK > \Lib" /MANIFEST /MANIFESTFILE:"Release > \backupcomm.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' > uiAccess='false'" /DEBUG /PDB:"c:\Development\Projects\BackupDirector > \v2\backupcomm\backupcomm\Release\backupcomm.pdb" /SUBSYSTEM:CONSOLE / > OPT:REF /OPT:ICF /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT > ws2_32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib > comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib > odbc32.lib odbccp32.lib > > Explicitly specifying libprotobuf.lib as well: > > /OUT:"Release/backupcomm.exe" /NOLOGO /LIBPATH:"C:\Development > \Libraries\lib" /LIBPATH:"C:\Program Files\Microsoft Platform SDK > \Lib" /MANIFEST /MANIFESTFILE:"Release > \backupcomm.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' > uiAccess='false'" /DEBUG /PDB:"c:\Development\Projects\BackupDirector > \v2\backupcomm\backupcomm\Release\backupcomm.pdb" /SUBSYSTEM:CONSOLE / > OPT:REF /OPT:ICF /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT > ws2_32.lib wsock32.lib c:\development\libraries\lib\libprotobuf.lib > kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib > advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib > odbccp32.lib > > > > On Apr 8, 1:09 pm, Kenton Varda wrote: > > It appears you are not linking against libprotobuf.lib. > > > > On Wed, Apr 8, 2009 at 8:28 AM, wrote: > > > > > I think part of my problem was using precompiled headers in the > > > project. I've removed that option and recreated my project, but I > > > still get these linker errors: > > > > > backupcomm error LNK2019: unresolved external symbol "public: static > > > class google::protobuf::MessageFactory * __cdecl > > > google::protobuf::MessageFactory::generated_factory(void)" (? > > > generated_fact...@messagefactory@proto...@google@@sapav...@xz) > > > referenced in function "public: __thiscall backupcomm::Actions::Actions > > > (void)" (??0acti...@backupcomm@@q...@xz) > > > backupcomm error LNK2019: unresolved external symbol "public: static > > > void __cdecl > > > google::protobuf::MessageFactory::InternalRegisterGeneratedMessage > > > (class google::protobuf::Descriptor const *,class > > > google::protobuf::Message const *)" (? > > > internalregistergeneratedmess...@messagefactory@proto...@google > > > @@saxpbvdescrip...@23@pbvmess...@23@@Z) > > > referenced in function "void __cdecl > > > backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors > > > (class google::protobuf::FileDescriptor const *)" (? > > > protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm > > > @@yaxpbvfiledescrip...@protobuf@google@@@Z) > > > backupcomm error LNK2019: unresolved external symbol "public: > > > __thiscall > > > > > > google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection > > > (class google::protobuf::Descriptor const *,class > > > google::protobuf::Message const *,int const * const,int,int,int,class > > > google::protobuf::DescriptorPool const *,int)" (?? > > > 0generatedmessagereflect...@internal@proto...@google > @@q...@pbvdescriptor > > > @2...@pbvmessage@2...@qbpbvdescriptorpool@2...@h@Z) > > > referenced in function "void __cdecl > > > backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors > > > (class google::protobuf::FileDescriptor const *)" (? > > > protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm > > > @@yaxpbvfiledescrip...@protobuf@google@@@Z) > > > backupcomm error LNK2019: unresolved external symbol "public: static > > > class google::protobuf::DescriptorPool const * __cdecl > > > google::protobuf::DescriptorPool::generated_pool(void)" (? > > > generated_p...@descriptorpool@proto...@google@@sapbv...@xz) referenced > > > in function "void __cdecl > > > backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors > > > (class google::protobuf::FileDescriptor const *)" (? > > > protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm > > > @@yaxpbvfiledescrip...@protobuf@google@@@Z) > > > backupcomm error LNK2019: unresolved external symbol "public: class > > > google::
Re: noob link errors
I don't know how else to link to libprotobuf.lib. Here's the resulting command lines of the options I've tried: /LIBPATH :"C:\Development\Libraries\lib" contains the output of the files built using the project files in vsprojects folder included in the protobuf source. First, I'm not speciyfing libprotobuf.lib, but including the libpath containing libprotobuf.lib (I think this is the way I'm supposed to link it): /OUT:"Release/backupcomm.exe" /NOLOGO /LIBPATH:"C:\Development \Libraries\lib" /LIBPATH:"C:\Program Files\Microsoft Platform SDK \Lib" /MANIFEST /MANIFESTFILE:"Release \backupcomm.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"c:\Development\Projects\BackupDirector \v2\backupcomm\backupcomm\Release\backupcomm.pdb" /SUBSYSTEM:CONSOLE / OPT:REF /OPT:ICF /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT ws2_32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Explicitly specifying libprotobuf.lib as well: /OUT:"Release/backupcomm.exe" /NOLOGO /LIBPATH:"C:\Development \Libraries\lib" /LIBPATH:"C:\Program Files\Microsoft Platform SDK \Lib" /MANIFEST /MANIFESTFILE:"Release \backupcomm.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"c:\Development\Projects\BackupDirector \v2\backupcomm\backupcomm\Release\backupcomm.pdb" /SUBSYSTEM:CONSOLE / OPT:REF /OPT:ICF /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT ws2_32.lib wsock32.lib c:\development\libraries\lib\libprotobuf.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib On Apr 8, 1:09 pm, Kenton Varda wrote: > It appears you are not linking against libprotobuf.lib. > > On Wed, Apr 8, 2009 at 8:28 AM, wrote: > > > I think part of my problem was using precompiled headers in the > > project. I've removed that option and recreated my project, but I > > still get these linker errors: > > > backupcomm error LNK2019: unresolved external symbol "public: static > > class google::protobuf::MessageFactory * __cdecl > > google::protobuf::MessageFactory::generated_factory(void)" (? > > generated_fact...@messagefactory@proto...@google@@sapav...@xz) > > referenced in function "public: __thiscall backupcomm::Actions::Actions > > (void)" (??0acti...@backupcomm@@q...@xz) > > backupcomm error LNK2019: unresolved external symbol "public: static > > void __cdecl > > google::protobuf::MessageFactory::InternalRegisterGeneratedMessage > > (class google::protobuf::Descriptor const *,class > > google::protobuf::Message const *)" (? > > internalregistergeneratedmess...@messagefactory@proto...@google > > @@saxpbvdescrip...@23@pbvmess...@23@@Z) > > referenced in function "void __cdecl > > backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors > > (class google::protobuf::FileDescriptor const *)" (? > > protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm > > @@yaxpbvfiledescrip...@protobuf@google@@@Z) > > backupcomm error LNK2019: unresolved external symbol "public: > > __thiscall > > > google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection > > (class google::protobuf::Descriptor const *,class > > google::protobuf::Message const *,int const * const,int,int,int,class > > google::protobuf::DescriptorPool const *,int)" (?? > > 0generatedmessagereflect...@internal@proto...@google@@q...@pbvdescriptor > > @2...@pbvmessage@2...@qbpbvdescriptorpool@2...@h@Z) > > referenced in function "void __cdecl > > backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors > > (class google::protobuf::FileDescriptor const *)" (? > > protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm > > @@yaxpbvfiledescrip...@protobuf@google@@@Z) > > backupcomm error LNK2019: unresolved external symbol "public: static > > class google::protobuf::DescriptorPool const * __cdecl > > google::protobuf::DescriptorPool::generated_pool(void)" (? > > generated_p...@descriptorpool@proto...@google@@sapbv...@xz) referenced > > in function "void __cdecl > > backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors > > (class google::protobuf::FileDescriptor const *)" (? > > protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm > > @@yaxpbvfiledescrip...@protobuf@google@@@Z) > > backupcomm error LNK2019: unresolved external symbol "public: class > > google::protobuf::FileDescriptor const * __thiscall > > google::protobuf::DescriptorPool::InternalBuildGeneratedFile(void > > const *,int,void (__cdecl*)(class google::protobuf::FileDescriptor > > const *))" (? > > internalbuildgeneratedf...@descriptorpool@proto...@google > > @@qaepbvfiledescrip...@23@PBXHP6AXPBV423@@z...@z) > > referenced in function "void __cdecl > > backupcomm::protobuf_BuildDesc_def_2eproto(void)" (? > > protobuf_builddesc_def_2epr...@backupcomm@@YAXXZ) > > backupcomm error LNK20
Re: noob link errors
It appears you are not linking against libprotobuf.lib. On Wed, Apr 8, 2009 at 8:28 AM, wrote: > > I think part of my problem was using precompiled headers in the > project. I've removed that option and recreated my project, but I > still get these linker errors: > > backupcomm error LNK2019: unresolved external symbol "public: static > class google::protobuf::MessageFactory * __cdecl > google::protobuf::MessageFactory::generated_factory(void)" (? > generated_fact...@messagefactory@proto...@google@@sapav...@xz) > referenced in function "public: __thiscall backupcomm::Actions::Actions > (void)" (??0acti...@backupcomm@@q...@xz) > backupcomm error LNK2019: unresolved external symbol "public: static > void __cdecl > google::protobuf::MessageFactory::InternalRegisterGeneratedMessage > (class google::protobuf::Descriptor const *,class > google::protobuf::Message const *)" (? > internalregistergeneratedmess...@messagefactory@proto...@google > @@saxpbvdescrip...@23@pbvmess...@23@@Z) > referenced in function "void __cdecl > backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors > (class google::protobuf::FileDescriptor const *)" (? > protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm > @@yaxpbvfiledescrip...@protobuf@google@@@Z) > backupcomm error LNK2019: unresolved external symbol "public: > __thiscall > > google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection > (class google::protobuf::Descriptor const *,class > google::protobuf::Message const *,int const * const,int,int,int,class > google::protobuf::DescriptorPool const *,int)" (?? > 0generatedmessagereflect...@internal@proto...@google@@q...@pbvdescriptor > @2...@pbvmessage@2...@qbpbvdescriptorpool@2...@h@Z) > referenced in function "void __cdecl > backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors > (class google::protobuf::FileDescriptor const *)" (? > protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm > @@yaxpbvfiledescrip...@protobuf@google@@@Z) > backupcomm error LNK2019: unresolved external symbol "public: static > class google::protobuf::DescriptorPool const * __cdecl > google::protobuf::DescriptorPool::generated_pool(void)" (? > generated_p...@descriptorpool@proto...@google@@sapbv...@xz) referenced > in function "void __cdecl > backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors > (class google::protobuf::FileDescriptor const *)" (? > protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm > @@yaxpbvfiledescrip...@protobuf@google@@@Z) > backupcomm error LNK2019: unresolved external symbol "public: class > google::protobuf::FileDescriptor const * __thiscall > google::protobuf::DescriptorPool::InternalBuildGeneratedFile(void > const *,int,void (__cdecl*)(class google::protobuf::FileDescriptor > const *))" (? > internalbuildgeneratedf...@descriptorpool@proto...@google > @@qaepbvfiledescrip...@23@PBXHP6AXPBV423@@z...@z) > referenced in function "void __cdecl > backupcomm::protobuf_BuildDesc_def_2eproto(void)" (? > protobuf_builddesc_def_2epr...@backupcomm@@YAXXZ) > backupcomm error LNK2019: unresolved external symbol "public: static > class google::protobuf::DescriptorPool * __cdecl > google::protobuf::DescriptorPool::internal_generated_pool(void)" (? > internal_generated_p...@descriptorpool@proto...@google@@sapav...@xz) > referenced in function "void __cdecl > backupcomm::protobuf_BuildDesc_def_2eproto(void)" (? > protobuf_builddesc_def_2epr...@backupcomm@@YAXXZ) > backupcomm error LNK2019: unresolved external symbol "void __cdecl > google::protobuf::internal::VerifyVersion(int,int,char const *)" (? > verifyvers...@internal@proto...@google@@yaxhh...@z) referenced in > function "void __cdecl backupcomm::protobuf_BuildDesc_def_2eproto > (void)" (?protobuf_builddesc_def_2epr...@backupcomm@@YAXXZ) > backupcomm error LNK2001: unresolved external symbol "public: virtual > bool __thiscall google::protobuf::Message::SerializeWithCachedSizes > (class google::protobuf::io::CodedOutputStream *)const " (? > serializewithcachedsi...@message@proto...@google > @@ube_npavcodedoutputstr...@io@23@@Z) > backupcomm error LNK2001: unresolved external symbol "public: virtual > int __thiscall google::protobuf::Message::SpaceUsed(void)const " (? > spaceu...@message@proto...@google@@UBEHXZ) > backupcomm error LNK2001: unresolved external symbol "public: virtual > int __thiscall google::protobuf::Message::ByteSize(void)const " (? > bytes...@message@proto...@google@@UBEHXZ) > backupcomm error LNK2001: unresolved external symbol "public: virtual > bool __thiscall google::protobuf::Message::MergePartialFromCodedStream > (class google::protobuf::io::CodedInputStream *)" (? > mergepartialfromcodedstr...@message@proto...@google > @@uae_npavcodedinputstr...@io@23@@Z) > backupcomm error LNK2001: unresolved external symbol "public: virtual > void __thiscall google::protobuf::Message::DiscardUnknownFields > (void)" (?discardunknownfie...@message@proto...@google@@UAEXXZ) > bac
Re: noob link errors
I think part of my problem was using precompiled headers in the project. I've removed that option and recreated my project, but I still get these linker errors: backupcomm error LNK2019: unresolved external symbol "public: static class google::protobuf::MessageFactory * __cdecl google::protobuf::MessageFactory::generated_factory(void)" (? generated_fact...@messagefactory@proto...@google@@sapav...@xz) referenced in function "public: __thiscall backupcomm::Actions::Actions (void)" (??0acti...@backupcomm@@q...@xz) backupcomm error LNK2019: unresolved external symbol "public: static void __cdecl google::protobuf::MessageFactory::InternalRegisterGeneratedMessage (class google::protobuf::Descriptor const *,class google::protobuf::Message const *)" (? internalregistergeneratedmess...@messagefactory@proto...@google@@saxpbvdescrip...@23@pbvmess...@23@@Z) referenced in function "void __cdecl backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors (class google::protobuf::FileDescriptor const *)" (? protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm@@yaxpbvfiledescrip...@protobuf@google@@@Z) backupcomm error LNK2019: unresolved external symbol "public: __thiscall google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection (class google::protobuf::Descriptor const *,class google::protobuf::Message const *,int const * const,int,int,int,class google::protobuf::DescriptorPool const *,int)" (?? 0generatedmessagereflect...@internal@proto...@google@@q...@pbvdescriptor@2...@pbvmessage@2...@qbpbvdescriptorpool@2...@h@Z) referenced in function "void __cdecl backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors (class google::protobuf::FileDescriptor const *)" (? protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm@@yaxpbvfiledescrip...@protobuf@google@@@Z) backupcomm error LNK2019: unresolved external symbol "public: static class google::protobuf::DescriptorPool const * __cdecl google::protobuf::DescriptorPool::generated_pool(void)" (? generated_p...@descriptorpool@proto...@google@@sapbv...@xz) referenced in function "void __cdecl backupcomm::protobuf_BuildDesc_def_2eproto_AssignGlobalDescriptors (class google::protobuf::FileDescriptor const *)" (? protobuf_builddesc_def_2eproto_assignglobaldescript...@backupcomm@@yaxpbvfiledescrip...@protobuf@google@@@Z) backupcomm error LNK2019: unresolved external symbol "public: class google::protobuf::FileDescriptor const * __thiscall google::protobuf::DescriptorPool::InternalBuildGeneratedFile(void const *,int,void (__cdecl*)(class google::protobuf::FileDescriptor const *))" (? internalbuildgeneratedf...@descriptorpool@proto...@google@@qaepbvfiledescrip...@23@PBXHP6AXPBV423@@z...@z) referenced in function "void __cdecl backupcomm::protobuf_BuildDesc_def_2eproto(void)" (? protobuf_builddesc_def_2epr...@backupcomm@@YAXXZ) backupcomm error LNK2019: unresolved external symbol "public: static class google::protobuf::DescriptorPool * __cdecl google::protobuf::DescriptorPool::internal_generated_pool(void)" (? internal_generated_p...@descriptorpool@proto...@google@@sapav...@xz) referenced in function "void __cdecl backupcomm::protobuf_BuildDesc_def_2eproto(void)" (? protobuf_builddesc_def_2epr...@backupcomm@@YAXXZ) backupcomm error LNK2019: unresolved external symbol "void __cdecl google::protobuf::internal::VerifyVersion(int,int,char const *)" (? verifyvers...@internal@proto...@google@@yaxhh...@z) referenced in function "void __cdecl backupcomm::protobuf_BuildDesc_def_2eproto (void)" (?protobuf_builddesc_def_2epr...@backupcomm@@YAXXZ) backupcomm error LNK2001: unresolved external symbol "public: virtual bool __thiscall google::protobuf::Message::SerializeWithCachedSizes (class google::protobuf::io::CodedOutputStream *)const " (? serializewithcachedsi...@message@proto...@google@@ube_npavcodedoutputstr...@io@23@@Z) backupcomm error LNK2001: unresolved external symbol "public: virtual int __thiscall google::protobuf::Message::SpaceUsed(void)const " (? spaceu...@message@proto...@google@@UBEHXZ) backupcomm error LNK2001: unresolved external symbol "public: virtual int __thiscall google::protobuf::Message::ByteSize(void)const " (? bytes...@message@proto...@google@@UBEHXZ) backupcomm error LNK2001: unresolved external symbol "public: virtual bool __thiscall google::protobuf::Message::MergePartialFromCodedStream (class google::protobuf::io::CodedInputStream *)" (? mergepartialfromcodedstr...@message@proto...@google@@uae_npavcodedinputstr...@io@23@@Z) backupcomm error LNK2001: unresolved external symbol "public: virtual void __thiscall google::protobuf::Message::DiscardUnknownFields (void)" (?discardunknownfie...@message@proto...@google@@UAEXXZ) backupcomm error LNK2001: unresolved external symbol "public: virtual bool __thiscall google::protobuf::Message::IsInitialized(void)const " (?isinitiali...@message@proto...@google@@UBE_NXZ) backupcomm error LNK2001: unresolved external symbol "public: virtual void __thiscall google:
Re: noob link errors
Here are the errors: BackupComm error LNK2005: "public: void __thiscall std::ios_base::clear (int,bool)" (?cl...@ios_base@std@@qaex...@z) already defined in Service.obj BackupComm error LNK2005: "public: virtual __thiscall std::ios_base::~ios_base(void)" (??1ios_b...@std@@u...@xz) already defined in Service.obj BackupComm error LNK2005: "protected: void __thiscall std::ios_base::_Init(void)" (?_i...@ios_base@std@@IAEXXZ) already defined in Service.obj BackupComm warning LNK4078: multiple '.CRT' sections found with different attributes (C0300040) BackupComm error LNK2005: "public: __thiscall std::locale::locale (void)" (??0loc...@std@@q...@xz) already defined in Service.obj BackupComm error LNK2005: "public: class std::locale::facet const * __thiscall std::locale::_Getfacet(unsigned int)const " (? _getfa...@locale@std@@qbepbvfa...@12@i...@z) already defined in Service.obj BackupComm error LNK2005: "public: void __thiscall std::locale::facet::_Register(void)" (? _regis...@facet@loc...@std@@QAEXXZ) already defined in Service.obj BackupComm error LNK2005: "public: __thiscall std::_Locinfo::~_Locinfo (void)" (??1_loci...@std@@q...@xz) already defined in Service.obj BackupComm error LNK2005: "public: static unsigned int const std::ctype::table_size" (?table_s...@?$ctype@d...@std@@2IB) already defined in stdafx.obj BackupComm error LNK2019: unresolved external symbol ___CxxFrameHandler3 referenced in function __ehhandler$? l...@service@@sax...@z BackupComm error LNK2001: unresolved external symbol ___CxxFrameHandler3 BackupComm error LNK2019: unresolved external symbol _memcpy_s referenced in function "protected: virtual int __thiscall std::basic_filebuf >::uflow (void)" (?uf...@?$basic_filebuf@du?$char_tra...@d@std@@@std@@MAEHXZ) BackupComm error LNK2001: unresolved external symbol _memcpy_s BackupComm error LNK2019: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (? _x...@_string_base@std@@SAXXZ) referenced in function "public: class std::basic_string,class std::allocator > & __thiscall std::basic_string,class std::allocator >::append(unsigned int,char)" (?app...@?$basic_string@du?$char_tra...@d@std@@V? $alloca...@d@2@@std@@qaeaa...@id@Z) BackupComm error LNK2019: unresolved external symbol "public: static void __cdecl std::ios_base::_Addstd(class std::ios_base *)" (? _add...@ios_base@std@@SAXPAV12@@Z) referenced in function "public: __thiscall std::basic_ostream >::basic_ostream >(enum std::_Uninitialized,bool)" (??0?$basic_ostr...@du? $char_tra...@d@std@@@std@@q...@w4_uninitialized@1...@_n@Z) BackupComm error LNK2019: unresolved external symbol "struct std::_DebugHeapTag_t const & __cdecl std::_DebugHeapTag_func(void)" (? _debugheaptag_f...@std@@yaabu_debugheapta...@1@XZ) referenced in function "protected: __thiscall std::basic_streambuf >::basic_streambuf >(void)" (??0?$basic_stream...@du? $char_tra...@d@std@@@std@@i...@xz) BackupComm error LNK2001: unresolved external symbol "struct std::_DebugHeapTag_t const & __cdecl std::_DebugHeapTag_func(void)" (? _debugheaptag_f...@std@@yaabu_debugheapta...@1@XZ) BackupComm error LNK2019: unresolved external symbol __invalid_parameter referenced in function "public: char const & __thiscall std::_String_const_iterator,class std::allocator >::operator*(void) const " (??d?$_string_const_itera...@du?$char_traits@d...@std@@V? $alloca...@d@2@@std@@QBEABDXZ) BackupComm error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "public: char const & __thiscall std::_String_const_iterator,class std::allocator >::operator*(void)const " (??D? $_string_const_itera...@du?$char_traits@d...@std@@V? $alloca...@d@2@@std@@QBEABDXZ) BackupComm error LNK2019: unresolved external symbol "void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (? _debug_mess...@std@@yaxpb_...@z) referenced in function "public: char const & __thiscall std::_String_const_iterator,class std::allocator >::operator*(void) const " (??d?$_string_const_itera...@du?$char_traits@d...@std@@V? $alloca...@d@2@@std@@QBEABDXZ) BackupComm error LNK2019: unresolved external symbol "public: __thiscall std::bad_cast::bad_cast(char const *)" (?? 0bad_c...@std@@q...@pbd@Z) referenced in function "class std::codecvt const & __cdecl std::use_facet >(class std::locale const &)" (?? $use_fa...@v?$codecvt@d...@std@@@std@@YAABV? $code...@ddh@0...@abvlocale@0@@Z) BackupComm error LNK2001: unresolved external symbol "public: virtual __thiscall std::bad_cast::~bad_cast(void)" (??1bad_c...@std@@u...@xz) BackupComm error LNK2001: unresolved external symbol "public: __thiscall std::bad_cast::bad_cast(class std::bad_cast const &)" (?? 0bad_c...@std@@q...@abv01@@Z) BackupComm error LNK2001: unresolved external symbol "public: __thiscall std::exception::exception(class std::exception const &)" (?? 0except...@std@@q...@abv01@@Z) BackupComm error LNK2001: unresolved external symbol "public: __thiscall std::exception::exception(class std::exception const &)"
Re: noob link errors
What are the errors? On Tue, Apr 7, 2009 at 3:58 PM, wrote: > > I am trying to get started using pb, but I am stuck. I've got my > messages compiled into their .h and .cc parts, i've added those to my > project. I built protobuf in vs 2009, and I've added the > protobuf-2.0.3\src directory as an include location and the output > from the build as an additional library location. However, I can't > build my project (which has nothing other than the protoc generated .h > and .cc files). I get a bunch of linker errors, did I miss something? > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to protobuf@googlegroups.com To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/protobuf?hl=en -~--~~~~--~~--~--~---