c++ - VxWorks with Eclipse - 缺少头文件

标签 c++ c cmake eclipse-cdt vxworks

我想使用 CmakeEclipse 3.7 Indigo CDT(使用 VxWorks PentiumVxWorks 6.8 编译一个库> 和 Power-PC 编译器集)。 cmake 步骤工作正常,我得到了随时可用的 Eclipse 项目。 但是由于缺少 header 而编译失败。

示例:

#if defined __VXWORKS__
#include <sys/socket.h>
// some more includes here
#endif

失败是因为 sys/socket.h不见了。 包含目录 C:/<path to vxworks>/target/h大多数 header 可用的地方(包括 sys 目录,但没有 socket.h 在里面!)设置。 失踪的socket.hC:/<path to vxworks>/target/h/wrn/coreip/sys .两个路径都设置为包含目录——但仍然缺失。

我已经开始编写一些“虚拟 header ” – header 放置在target/h 的适当子目录中并且只包含来自 target/h/wrn/coreip 的实际 header .该解决方案有效,但这些 header 本身包含更多 header ,因此这些 header 也需要这样的解决方法(然后新的 header 需要更多……)。 我想知道为什么即使在 eclipse 中设置包含路径它也不起作用。

大部分VxWorks的header都没有这个问题;似乎只有网络的那些。

是否有任何魔术或我遗漏的东西?


缺少 header 错误消息:

error: sys/socket.h: No such file or directory

我在编译时收到的警告:

[vxworks path here]/h/vsbConfig.h:42:2: warning: #warning "VxWorks Source Build (VSB) project not specified; using default VxWorks UP configuration under $WIND_BASE/target/lib/h/config"

环境变量 WIND_BASE , WIND_HOMEWIND_LIC_PROXY在 eclipse 中设置。

我正在从 Win7 交叉编译。

最佳答案

在eclipse中添加包含目录的路径是不够的。您还必须将它添加到 cmakelists。您可以使用 include_directories("[your path here]") 来执行此操作。

关于c++ - VxWorks with Eclipse - 缺少头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15615775/

相关文章:

c++ - 文件指针行为?

c++ - 使用 cmake 使用 v8 库编译 C++ 程序

android - 错误 : undefined reference in JNI function After upgrading NDK and Cmake for Android Studio

c++ - protobuf 与 zeromq 与 C++ 的链接错误

c++ - 如何在定义之前向另一个类声明 friend

c++ - C++ 中的 "HEAP CORRUPTION"错误是什么?

c - 而对于 : what is the best?

c - 指针加法检查

c++ - 使用 vcglib 示例时断言失败

c++ - 函数参数的类型是否可推导?