NixOS에서는 -lfl을 사용할 수 없습니다.

NixOS에서는 -lfl을 사용할 수 없습니다.

저는 NixOS를 처음 접했고 Flex를 사용하는 프로젝트를 빌드하려고 합니다. 프로젝트를 빌드하려고 하면 다음 오류가 발생합니다. /nix/store/b10shv9yqbgps47y0n8x7l7bq8fmp1i6-binutils-2.31.1/bin/ld: cannot find -lfl 어떻게 해결할 수 있나요? NixOS에서 "ld: 찾을 수 없음 -lc"glibc.staticshell.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 ...

관련 정보