对Eclipse c++的未定义引用

Undefined reference to Eclipse C++

本文关键字:未定义 引用 c++ Eclipse      更新时间:2023-10-16

我试了越来越多的时间,但我得到了同样的错误。当我使用外部库时,例如,我试图在openssl和crypto++上工作,我收到错误:"对(函数)的未定义引用"。

我不知道为什么Eclipse这样做,但是#include都是正确的。我甚至尝试添加了Properties-C/c++ General-Path &符号,但没有。

有人能帮我吗?

您必须指定必须链接到可执行文件的共享库的名称。

假设您正在使用GNU工具链,您可以按照以下步骤来做:

  1. 右键单击项目,然后选择Properties
  2. 进入C/C++ Build -> Settings
  3. 选择GCC C Linker -> Libraries
  4. Libraries (-l)中,添加库的名称,
  5. 如果需要,将库所在的目录放在Library search path (-L)中。

我也有同样的问题。我正在使用Eclipse CDT并试图用OpenSSL头构建我的源代码,我得到了相同的"undefined reference"问题。

对于那些可能也遭受这类错误的人,请尝试以下步骤:

  1. 确保你使用正确的编译器(Ubuntu 18.04)right click your project->preference->C/C++ Build->tool chain editor->use CDT internal Builder / Linux gcc(你可以试着运行HelloWorld作为测试)
  2. C/C++ Build->settings->gcc linker,看到右边有一个"+",点击并输入sslcrypto
  3. 重建你的项目,完成。

我强烈建议你学习gcc编译器命令行。如果您遇到编译问题,请始终使用终端和命令行查看是否可以成功编译它,然后将成功的命令与Eclipse中的控制台日志进行比较,在那里您可以看到用于编译代码的实际gcc命令。

一个很好的gcc命令资源:https://www.rapidtables.com/code/linux/gcc/gcc-l.html