[TL]主工程代码没法跟到引用的库工程代码中去

45 views
Skip to first unread message

Tu Ming

unread,
May 29, 2012, 12:36:10 AM5/29/12
to pon...@googlegroups.com
Hi 各位,
我用vs2008开发,一个工程引用另外一个工程,被引用的工程编译成静态库,是debug模式,从主工程单步的时候进入不了引用的工程函数中去,然后发现主工程编译链接的时候有下面的warning:
1>Linking...
1>****.lib(****.obj) : warning LNK4204:
'********\project\visualstudio\Debug\vc90.pdb' is missing
debugging information for referencing module; linking object as if no
debug info
1>****.lib(****.obj) : warning LNK4204:
'********\project\visualstudio\Debug\vc90.pdb' is missing
debugging information for referencing module; linking object as if no
debug info
1>****.lib(****.obj) : warning LNK4204:
'********\project\visualstudio\Debug\vc90.pdb' is missing
debugging information for referencing module; linking object as if no
debug info
然后正好就是这三个cpp文件里的函数跟不进去,这是怎么回事呢?谢谢!

Xpol Wan

unread,
May 29, 2012, 1:55:42 AM5/29/12
to pon...@googlegroups.com
debug模式的静态库需要连同 pdb文件一起发布、拷贝。

另外,如果你是在一台电脑上编译static lib,另外一台上使用它。在调试的时候,调试器会要求你手动指定本地的static lib的源代码路径。
pdb文件不包含源代码,所以,如果在使用static lib的电脑上没有源代码的话,这不能进行源代码调试。

Best Regards!

Xpol Wan
// There is a better way!



2012/5/29 Tu Ming <luckhe...@gmail.com>

jadedrip

unread,
Jun 11, 2012, 3:05:54 AM6/11/12
to pon...@googlegroups.com
如果想调试,库当然也要编译成 debug 的。 
还有可能是 pdb 文件名冲突。你最好把库的工程配置改了,他的pdb 文件名改成库一样的名字,并且和lib一起复制出去。VC 很白痴的把 pdb 的默认名称都命名成 vc90.pdb,所以经常互相覆盖……

在 2012年5月29日星期二UTC+8下午12时36分10秒,headline写道:
Reply all
Reply to author
Forward
0 new messages