【发布时间】:2016-05-18 15:00:34
【问题描述】:
我正在将在 linux 上编译的 C 项目移植到在 Ubuntu 16.04 上使用 Eclipse Luna 的 arm 平台
当我在 Makefile 中从 CC=gcc 切换到 CC=arm-none-eabi 时,我得到了很多丢失的标头,这没关系,这就是移植工作的内容。
困扰我的是,当我按住 CTRL 键单击一个符号时,Eclipse 并没有打开 arm 工具链的相应文件。例如,如果我按住 CTRL 键单击 <time.h>,它不会打开:
/media/BUILDS/arm_gcc493/arm-none-eabi/include/time.h
但它总是恢复到它的 linux 系统对应物,在这种情况下
/usr/include/i386-linux-gnu/time.h
因为那是 gcc 会寻找的地方,但我正在使用 arm-none-eabi-gcc 进行编译!
我不希望 Eclipse 这样做,因为调试变得非常混乱。如果我实际上尝试编译的头文件/源代码有问题,我希望 Eclipse 打开该文件而不是默认系统文件。我摆弄了 Project Properties 和 Eclipse Preferences 但没有运气。
更糟糕的是,每当包含 <sys/socket.h> 时,我都会收到错误,因为 arm 工具链没有 socket.h,但如果我按住 CTRL 键单击它,Eclipse 会将我带到 /usr/include/i386-linux-gnu/sys/socket.h
我不希望这样,如果编译所需的标头不存在,它就是不存在。我不想让 Eclipse 向我展示其他东西,我该怎么做?
项目是在 C/C++ 下导入工作区“Existing Code as Makefile Project”中创建的
非常感谢
编辑:
我做了正确的事情并从头开始为 Cross ARM GCC 工具链创建一个项目(使用正确的插件)。我的错误是创建了一个“Linux GCC”项目并假装 Eclipse 通过启动不同的“make”命令来理解我想要实现的目标。但是,如果您无法从头开始重新启动,则可接受的解决方案会指导您如何手动修复这种情况。
【问题讨论】:
标签: include eclipse-cdt eclipse-luna