Linkage warning

791 views
Skip to first unread message

Jean-Sebastien Stoezel

unread,
Nov 6, 2010, 2:08:11 PM11/6/10
to Protocol Buffers
Hello,

I'm using the protobufs 2.3.0 with Visual Studio 2008
I get a few warnings when linking against protobuf.lib (application
works fine though):

1>LINK : C:\code\myapp.exe not found or not built by the last
incremental link; performing full link
1>libprotobuf.lib(coded_stream.obj) : warning LNK4099: PDB 'vc90.pdb'
was not found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(common.obj) : warning LNK4099: PDB 'vc90.pdb' was
not found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(descriptor.obj) : warning LNK4099: PDB 'vc90.pdb'
was not found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(descriptor.pb.obj) : warning LNK4099: PDB 'vc90.pdb'
was not found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(descriptor_database.obj) : warning LNK4099: PDB
'vc90.pdb' was not found with
'.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(extension_set.obj) : warning LNK4099: PDB 'vc90.pdb'
was not found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(extension_set_heavy.obj) : warning LNK4099: PDB
'vc90.pdb' was not found with
'.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(generated_message_reflection.obj) : warning LNK4099:
PDB 'vc90.pdb' was not found with
'.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(message.obj) : warning LNK4099: PDB 'vc90.pdb' was
not found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(message_lite.obj) : warning LNK4099: PDB 'vc90.pdb'
was not found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(once.obj) : warning LNK4099: PDB 'vc90.pdb' was not
found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(reflection_ops.obj) : warning LNK4099: PDB
'vc90.pdb' was not found with
'.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(repeated_field.obj) : warning LNK4099: PDB
'vc90.pdb' was not found with
'.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(structurally_valid.obj) : warning LNK4099: PDB
'vc90.pdb' was not found with
'.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(strutil.obj) : warning LNK4099: PDB 'vc90.pdb' was
not found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(substitute.obj) : warning LNK4099: PDB 'vc90.pdb'
was not found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(text_format.obj) : warning LNK4099: PDB 'vc90.pdb'
was not found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(tokenizer.obj) : warning LNK4099: PDB 'vc90.pdb' was
not found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(unknown_field_set.obj) : warning LNK4099: PDB
'vc90.pdb' was not found with
'.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(wire_format.obj) : warning LNK4099: PDB 'vc90.pdb'
was not found with '.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(wire_format_lite.obj) : warning LNK4099: PDB
'vc90.pdb' was not found with
'.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(zero_copy_stream.obj) : warning LNK4099: PDB
'vc90.pdb' was not found with
'.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(zero_copy_stream_impl.obj) : warning LNK4099: PDB
'vc90.pdb' was not found with
'.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info
1>libprotobuf.lib(zero_copy_stream_impl_lite.obj) : warning LNK4099:
PDB 'vc90.pdb' was not found with
'.\ThirdParty\protobuf-lib\libprotobuf.lib' or at
'C:\code\myapp\Debug\vc90.pdb'; linking object as if no debug info

Does anybody have any clues on how to remove these warnings? My guess
would be that I did not generate the protobuf lib with the same code
generation options as my application. Which one though?

Thanks,
JS

Gregory Szorc

unread,
Nov 9, 2010, 3:43:04 PM11/9/10
to Jean-Sebastien Stoezel, Protocol Buffers
I don't think this is an issue with protocol buffers as much as it is your
specific development environment.

The linker is just complaining
(http://msdn.microsoft.com/en-us/library/b7whw3f3%28VS.80%29.aspx) that it
can't find the debugger .pdb file for the protocol buffers static library.
I'm pretty sure this means you won't be able to step inside protocol buffer
source files when debugging.

Solutions I can think of:

1) Generate a .pdb file by compiling protocol buffers in Visual Studio. See
Configuration Properties -> Linker -> Debugging and set "Generate Debug
Info" to Yes (adds /DEBUG flag) and make sure the "Generate Program Data
File" points somewhere sane. Be sure you don't have multiple projects
writing to the same .pdb file, since last write wins.

2) Don't link against the .pdb (see MSDN link above) (you don't want to do
this if you are debugging since I believe it will disable debug linking for
all libraries, not just protocol buffers).

3) Silence the error by adding /ignore:4099 to the linker command arguments
(Properties -> Linker -> Command Line).

4) Continue ignoring the error.

Good luck.

Greg

Hello,

Thanks,
JS

--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To post to this group, send email to prot...@googlegroups.com.
To unsubscribe from this group, send email to
protobuf+u...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/protobuf?hl=en.

Reply all
Reply to author
Forward
0 new messages