gpt4 book ai didi

c++ - 无法使用 nixos 推导包含 header

转载 作者:行者123 更新时间:2023-11-30 03:18:39 26 4
gpt4 key购买 nike

我有这个简单的 C++ 代码:

#include <ncurses.h>
int main ()
{
return 0;
}

我尝试用这个 shell.nix 文件构建

{stdenv , ncurses}:
with import <nixpkgs> {}; {
testEnv = stdenv.mkDerivation {
name = "helloTest";
buildInputs = [stdenv ncurses];
};
}

运行命令:

g++ main.cpp -lncurses -o main

我得到错误输出:

main.cpp:1:10: fatal error: ncurses.h: No such file or directory
#include <ncurses.h>
^~~~~~~~~~~

虽然我确实安装了ncurses:

$ locate ncurses.h
/nix/store/ffjl7aw7f0gjwv4gb4mgb0w49v5dhrkg-ncurses-6.0-20171125-dev/include/ncurses.h

目前,我使用专用的 docker 容器进行 C++ 构建。但我想避免这种情况,真的很尴尬,并正确使用 nix 系统。

知道我明显遗漏了什么吗?

最佳答案

按照先前答案的建议,我可以愉快地编译:

#!/usr/bin/env bash 
ncursesInclude="/nix/store/ffjl7aw7f0gjwv4gb4mgb0w49v5dhrkg-ncurses-6.0-20171125-dev/include/"
ncursesLib="/nix/store/54cwjh1lsmjpk2cbs43gw89w4zhk3ybb-ncurses-6.0-20171125/lib/"
g++ main.cpp -I$ncursesInclude -L$ncursesLib -lncurses -o main

但我觉得需要有通往 nix 商店的具体路径,这让我感到非常尴尬。

我很乐意知道这样做的最佳方式。

关于c++ - 无法使用 nixos 推导包含 <ncurses.h> header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54524324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com