使用FHSEnv时Cargo无法找到已存在的gdk-3.0.pc文件
使用FHSEnv时pkg-config无法识别gdk-3.0.pc的问题
问题概述
在项目中使用FHSEnv构建Rust项目时,Cargo无法构建gdk-sys crate。已明确将包含gdk-3.0.pc文件的路径配置到PKG_CONFIG_PATH环境变量中,但pkg-config仍无法识别该文件。
shell.nix配置
let ... in (pkgs.buildFHSEnv { name = "money_counter_dev"; targetPkgs = pkgs: [ rust ] ++ (with pkgs; [ gcc pkg-config pkgsCross.mingwW64.stdenv.cc ]); profile = '' export RUST_BACKTRACE=1; export CARGO_TARGET_X86_64_PC_WINDOWS_GNU_RUSTFLAGS="-L native=${pkgs.pkgsCross.mingwW64.windows.pthreads}/lib"; export PKG_CONFIG_PATH="${pkgs.gtk3.dev}/lib/pkgconfig:${pkgs.glib.dev}/lib/pkgconfig" ''; runScript = ... }).env
cargo check报错信息
> PKG_CONFIG_PATH=/nix/store/m1v13sqd0h9qfvynrj20aqx17d5chkin-gtk+3-3.24.41-dev/lib/pkgconfig:/nix/store/gdr1ghkakyjfdj8bc6n0virwllm4zpwz-glib -2.80.2-dev/lib/pkgconfig PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags gdk-3.0 gdk-3.0 >= 3.22 The system library `gdk-3.0` required by crate `gdk-sys` was not found. The file `gdk-3.0.pc` needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory. PKG_CONFIG_PATH contains the following: - /nix/store/m1v13sqd0h9qfvynrj20aqx17d5chkin-gtk+3-3.24.41-dev/lib/pkgconfig - /nix/store/gdr1ghkakyjfdj8bc6n0virwllm4zpwz-glib-2.80.2-dev/lib/pkgconfig HINT: you may need to install a package such as gdk-3.0, gdk-3.0-dev or gdk-3.0-devel.
已确认的文件存在情况
已验证/nix/store/m1v13sqd0h9qfvynrj20aqx17d5chkin-gtk+3-3.24.41-dev/lib/pkgconfig目录下确实存在gdk-3.0.pc文件:
dr-xr-xr-x 1 nobody nogroup 318 Jan 1 1970 . dr-xr-xr-x 1 nobody nogroup 18 Jan 1 1970 .. -r--r--r-- 1 nobody nogroup 361 Jan 1 1970 gail-3.0.pc -r--r--r-- 1 nobody nogroup 696 Jan 1 1970 gdk-3.0.pc ...
期望pkg-config能正常识别该文件以完成依赖构建。
内容的提问来源于stack exchange,提问作者Bittermann1287
相关产品推荐
相关产品推荐

