我是 NixOS 的新手,我正在尝试构建一个使用 Flex 的项目。如果我尝试构建项目,则会收到以下错误
/nix/store/b10shv9yqbgps47y0n8x7l7bq8fmp1i6-binutils-2.31.1/bin/ld: cannot find -lfl
如何解决此问题?
NixOS 上的“ld:找不到 -lc”显示我需要添加glibc.static
到 shell.nix,buildInputs
但这还没有解决任何问题。
编辑:这是shell.nix
{ pkgs ? import <nixpkgs> {} }
with pkgs;
stdenv.mkDerivation {
buildInputs = {
name = "my-project";
buildInputs = [ flex ]
}
}
答案1
我解决了!在make文件中添加:
FLEX_PATH := $(shell dirname $(shell which flex))
LIB_PATH := $(shell readlink -f "$(FLEX_PATH)/../lib")
clang ... -L $(LIB_PATH) -lfl ...