c++ - 对 'readline' 的 undefined reference

标签 c++ netbeans

我正在尝试使用 netbeans 在我的 c++ 项目中使用 readline 库,所以我安装了 libreadline6-dev 并将其添加到我的项目 Properties ->链接器 -> 附加库目录 -> 并添加 (usr/include/readline)。

但是在编译时我得到了这个错误:undefined reference to 'readline'.

我发现我还需要在某个地方添加 -lreadline,但我不知道该放在哪里。

任何想法。

谢谢

最佳答案

你做得很好,你遇到的问题是关于链接器的。

你必须在这里指定库(readline):

项目属性 -> 构建 -> 链接器 -> 库。

还需要指定库的路径:

属性 -> 链接器 -> 附加库目录

但是,正如 nos 所说,它不是 include 目录。include 目录是库 (.h) 的 header 。

链接器在 UNIX 上需要一个扩展名为 .a 的文件,它应该位于 lib 目录下(例如:/usr/lib 取决于库的安装位置)。

如果它不工作确保文件 [library_directory]/libreadline.a 存在

您还需要将 ncurses 链接到您的项目,因为 readline 使用它。

关于c++ - 对 'readline' 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4928203/

相关文章:

c++ - 使用 Boost 计算 ECMA-128 64 位 CRC

c++ - unordered_set如何确定c++中的插入顺序?

c++ - 在 C++ 构建器中为单元格着色,StringGrid

java - 看起来 double 类型变量没有方法。 Java 或 NetBeans 有问题吗?

postgresql - 缺少数据源的驱动程序类名称 (Netbeans+ PostgreSql + Glassfish)

Java,thread.sleep()阻止按钮的使用(不识别按钮点击)

java - 如何将资源目录而不是单个文件包含到编译类路径中?

c++ - Cuda - 3D block & grid dimension confusion - 另一个

用于读取 HEVC 视频和提取帧的 C++ 代码

java - 现有代码上的 NetBeans Gui Builder