未定义的Eclipse C ++参考

时间:2011-10-22 15:46:12

标签: c++ eclipse

我已经尝试了越来越多的时间,但我得到了同样的错误。 当我使用外部lib时,例如我尝试使用openssl和crypto ++,我收到错误:“undefined reference to(function)”。

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

有人能帮助我吗?

2 个答案:

答案 0 :(得分:16)

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

假设您使用的是GNU工具链,可以按照以下步骤进行:

  1. 右键单击该项目,然后选择Properties
  2. 转到C/C++ Build下 - > Settings
  3. 选择GCC C Linker - > Libraries
  4. Libraries (-l)中,添加图书馆名称
  5. 如果需要,请将托管库的目录放在Library search path (-L)

答案 1 :(得分:0)

我也有同样的问题。我在使用Eclipse CDT并尝试使用OpenSSL标头构建源代码,但遇到了同样的"undefined reference"问题。

对于可能也遇到此类错误的人,请尝试以下步骤:

  1. 确保使用正确的编译器(用于Ubuntu 18.04right 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