• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    4年前 (2014-05-09)  QT 评论关闭  53 
    文章评分 0 次,平均分 0.0

    “用Qt写的工程,想迁移到VS2012中来,出现各种库问题,一一解决后,又出现'无法找到“XXX.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件。'”

    查了些资料,原因是pdb文件没有生成,要让项目生成pdb文件,需要更改:
    1. 项目属性,配置属性->连接器->生成调试信息从 no 改为 yes
    2. 项目属性,配置属性->c/c++->常规>调试信息信息 为C7 兼容(/Z7)
    3. 项目属性,配置属性->c/c++->优化>优化 为禁用(/0d) 因为为了生成这个文件,需要设定debug信息的格式并关掉O2,还要更改linker生成调试信息的开关

    另外QextSerialPort代码部分提示如下链接错误信息:
    qextserialenumerator.obj : error LNK2019: 无法解析的外部符号 __imp__RegQueryValueExW@24,该符号在函数 "private: static class QString __cdecl QextSerialEnumerator::getRegKeyValue(struct HKEY__ *,unsigned short const *)" (?getRegKeyValue@QextSerialEnumerator@@CA?AVQString@@PAUHKEY__@@PBG@Z) 中被引用

    qextserialenumerator.obj : error LNK2019: 无法解析的外部符号 __imp__RegCloseKey@4,该符号在函数 "private: static void __cdecl QextSerialEnumerator::setupAPIScan(class QList &)" (?setupAPIScan@QextSerialEnumerator@@CAXAAV?$QList@UQextPortInfo@@@@@Z) 中被引用

    解决办法是:增加 -ladvapi32,原来,RegQueryValueEx 和 RegCloseKey 是包含在 AdvAPI32.Lib 中。

     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/3477.html

    关于
    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享