如何在 qt 库中使用调试符号为 qt 5.5 创建开发 shell

How can I create a development shell for qt 5.5 with debug symbols in the qt libraries

我有一个开发 shell,其中 buildInputs 条目包括 qt55.qtbase。这很好用。

今天,我在 qt 库中遇到了段错误,我想要带有调试符号的 qt 库。

我看了一下nixpkgs/pkgs/development/libraries/qt-5/5.5/default.nix,发现它需要一个参数developerBuild

我已经在 buildInputs of simple shells 中引入了参数,就像之前使用 callPackage 一样,但是 qt 包的构造让我头疼,我无法为 shell.

生成有效的 nix 文件

我如何创建用于安装带调试符号的 qt 库的 qt 5.5 软件开发 shell?

使用override(见https://nixos.org/nixpkgs/manual/#sec-pkg-override),所以在你的shell.nix/default.nix:

let qtBaseWithDebug = qt55.base.override { developerBuild = true; }; in
...
   buildInputs = [ ... qtBaseWithDebug ... ];
...

顺便说一句,你可以在http://schmitthenner.eu/nixos-homepage/nixos/packages.html看到包的参数(虽然现在有点过时了)