我在Ubuntu20.04.5LTS上,我做了:
sudo apt-get install libreadline6
但是vs代码不识别#include <readline/readline.h>
或#include <readline/history.h>
并打电话给:
-Wall -Wextra -Werror -g -lreadline
给我readline/readline.h: No such file or directory
我遗漏了什么?图书馆在哪里?
发布于 2022-11-23 18:23:20
安装开发包:libreadline-dev
。您只安装了运行时包(而且它不包括头文件,因为这些文件在运行时不需要)。
$ sudo apt install libreadline-dev
...
检查从libreadline-dev
包中得到了什么(丢失的文件用*
标记):
$ dpkg -L libreadline-dev
/.
/usr
/usr/include
/usr/include/readline
/usr/include/readline/chardefs.h
/usr/include/readline/history.h *
/usr/include/readline/keymaps.h
/usr/include/readline/readline.h *
/usr/include/readline/rlconf.h
/usr/include/readline/rlstdc.h
/usr/include/readline/rltypedefs.h
/usr/include/readline/tilde.h
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libhistory.a
/usr/lib/x86_64-linux-gnu/libreadline.a
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig/readline.pc
/usr/share
/usr/share/doc
/usr/share/info
/usr/lib/x86_64-linux-gnu/libhistory.so
/usr/lib/x86_64-linux-gnu/libreadline.so
/usr/share/doc/libreadline-dev
然后,pkg-config --cflags --libs readline
的输出将为您提供必要的包含路径选项、定义和链接选项(取自上面列出的文件/usr/lib/x86_64-linux-gnu/pkgconfig/readline.pc
)。可能的产出:
$ pkg-config --cflags --libs readline
-D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -lreadline
然后编译并链接:
$ gcc $(pkg-config --cflags --libs readline) -lhistory -Wall -Wextra ...
https://stackoverflow.com/questions/74551364
复制相似问题