【问题标题】:eclipse pointing to wrong header fileeclipse指向错误的头文件
【发布时间】:2015-02-16 12:06:33
【问题描述】:

我正在 Eclipse 中编写一些 C 代码。我有一些自己的头文件,我将它们放在项目 properties -> GCC C Compiler -> Includes -> Include paths(-l) 下。包含的文件之一是 socket.h。当我尝试编译我的项目编译器仍然指向默认库 (usr/includes/bits/socket.h/usr/includes/sys/socket.h) 但是我有自己的 socket.h 文件,已包含在包含路径 (-l) 下。

我的问题是,如何限制我的编译器指向我的 socket.h 而不是它自己的 socket.h ?一个限制是我不能更改 socket.h 文件名。

【问题讨论】:

  • 您使用的是"socket.h" 还是<socket.h> 包括?
  • 如果你只使用 #include"socket.h" 会发生什么?!
  • 我认为它可以解决问题。我再次编译但得到了同样的错误。我现在要编写一个 bitbake 文件来构建我的项目。如果有任何其他建议,我会尝试。

标签: c eclipse


【解决方案1】:

解决此问题的一种简单快捷的方法是将您的 socket.h 放在一个子文件夹中,并使您的包含看起来像这样:

#include "mysubfolder/socket.h"

将子文件夹父文件夹添加到您的包含路径并完成。

【讨论】:

  • 我必须从同一位置添加 2 个不同的头文件。 mysubfolder/socket.h 和 mysubfolder/select.h 此解决方案适用于 1 个文件,但是当我将相同的路径添加到另一个头文件 mysubfolder/select.h 编译器再次指向到默认的 socket.h 和 select.h。有什么理由吗?
  • @shan 你为什么不重命名你的socket.h?
  • @zubergu 因为我的组织中有很多其他人在使用这个 socket.h。我问任何人他们是否正在使用 Eclipse。我正在尝试自己解决这个问题。
  • @shan 也许您应该检查您的 #include "mysubfolder/yourheadername" 上方包含的头文件之一是否包含相同的头文件,但没有“mysubfolder”部分。
  • 不带 mysubfolder 包括默认的 socket.h 和 select.h 文件。奇怪的部分是,如果我将 mysubfolder 与其中一个包含一起使用,它可以很好地用于该包含,但如果我将它与我的两个头文件一起使用,它就不起作用了。
猜你喜欢
  • 2012-09-22
  • 2014-08-14
  • 2021-01-12
  • 2013-06-11
  • 2015-11-28
  • 2019-12-09
  • 2012-05-28
  • 2020-05-05
  • 1970-01-01
相关资源
最近更新 更多