我正在尝试使用 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/