如何使用正确分布的发布pdb文件构建Qt5

时间:2015-03-27 11:19:47

标签: build qt5 release pdb vc90

我想在调试发布模式下使用PDB文件来源构建Qt5,但我遇到了两个问题:

  1. 没有发布生成的PDB文件(here是解决方案),

  2. qt构建系统未将发布PDB文件部署到给定prefix构建文件夹,就像nmake.exe install之后的调试版本一样。

  3. 以下是示例:

    > configure -confirm-license -debug-and-release -opensource -shared -platform win32-msvc2008 -prefix x86 -mp -no-opengl -nomake examples
    > nmake.exe
    > nmake.exe install
    

    构建完成后,我的qtbase\bin\x86\x86\bin文件夹包含 DLL s, LIB ,只有调试PDB 文件,但发布PDB 文件。 Qt构建脚本没有像发布PDB文件那样制作发行版PDB文件的副本。释放创建的PDB文件,并将其放置在模块中。

    有没有人知道如何解决这个问题?

    PS:作为我自己的解决方案,我想从每个模块文件夹中复制所有* .pdb文件,但我认为这种情况最糟糕,首先我会尝试找到更多 human 解决方案。

    PSS:Qt4没有这种行为,我们也没有问题。

    P3S:这是Qt similar bug

    谢谢, 最好的问候!


    环境:

      

    版本:Qt 5.4.1

         

    系统:赢取8.1

         

    工具集:MSVS2008(vc9)


    有用的链接:

    1. qmake Variable Reference
    2. How to create .pdb files also for Release version of Qt library
    3. SO

2 个答案:

答案 0 :(得分:4)

解决-force-debug-info该死的选择...

答案 1 :(得分:0)

Qt.io - release with pdb

追加(不在文件开头插入):

QMAKE_CFLAGS_RELEASE    = -O2 -MD -zi
QMAKE_LFLAGS_RELEASE    = /INCREMENTAL:NO /DEBUG

进入qmake.conf,然后你将获得发布pdbs