如何在 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看到包的参数(虽然现在有点过时了)
我有一个开发 shell,其中 buildInputs
条目包括 qt55.qtbase
。这很好用。
今天,我在 qt 库中遇到了段错误,我想要带有调试符号的 qt 库。
我看了一下nixpkgs/pkgs/development/libraries/qt-5/5.5/default.nix
,发现它需要一个参数developerBuild
。
我已经在 buildInputs
of simple shells 中引入了参数,就像之前使用 callPackage
一样,但是 qt 包的构造让我头疼,我无法为 shell.
我如何创建用于安装带调试符号的 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看到包的参数(虽然现在有点过时了)