我想使用 Cmake 和 Eclipse 3.7 Indigo CDT (使用VxWorks Pentium VxWorks 6.8 编译库>和 Power-PC 编译器设置)。 cmake步骤工作正常,我准备使用Eclipse项目。 但由于缺少标题,编译失败。
示例:
#if defined __VXWORKS__
#include <sys/socket.h>
// some more includes here
#endif
此操作失败,因为缺少sys/socket.h
。
包括目录C:/<path to vxworks>/target/h
,其中大多数标头可用(包括sys
目录,但其中有否 socket.h
!)已设置。
缺少的socket.h
是C:/<path to vxworks>/target/h/wrn/coreip/sys
。两条路径都设置为包含目录 - 但仍然缺失。
我已经开始编写一些“虚拟标题” - 标题,这些标题位于target/h
的正确子目录中,仅包含来自target/h/wrn/coreip
的实际标题。这个解决方案有效,但是这些标题包含了更多的标题,所以那些需要这样的解决方法(然后新的标题需要更多...)。
我想知道为什么即使在eclipse中设置包含路径它也不起作用。
VxWorks的大多数标题都没有此问题;它似乎只适用于网络。
是否有魔术或我缺少的东西?
缺少标题错误消息:
错误:sys / socket.h:没有这样的文件或目录
编译时得到的警告:
[这里的vxworks路径] /h/vsbConfig.h:42:2:警告:#warning “未指定VxWorks源构建(VSB)项目;使用默认值 $ WIND_BASE / target / lib / h / config下的VxWorks UP配置“
在eclipse中设置环境变量WIND_BASE
,WIND_HOME
和WIND_LIC_PROXY
。
我正在从Win7进行交叉编译。
答案 0 :(得分:2)
在eclipse中添加包含目录的路径是不够的。你必须将它添加到 cmakelists 。您可以使用include_directories("[your path here]")
来执行此操作。