【问题】
折腾:
期间,通过makefile去build all的时候,出错了:
Description Resource Path Location Type |
【解决过程】
1.参考:
Type ‘FILE’ could not be resolved
确定,FILE是包含在stdio.h中的。
所以,要去确保,此头文件的路径是Eclipse中正确配置了的。
2.然后去看了看当前的配置:
好像也没搞清楚,如何添加。
3.参考:
eclipse error: * could not be resolved
去看看配置。
此处是C项目,所以只去选择那个:
Index unused headers as C files
然后重新编译一次试试。
结果问题依旧。
所以还是恢复到之前的配置:
选中:Index unused headers as C++ files
不选:Index unused headers as C files
且是不选中:
Enable project specific settings
4.然后,突然发现,其实,此处,虽然提示错误,但是实际上,已经变成成功,生成对应的文件了:
所以,此处的错误,其实是可以忽略的。
但是还是要努力搞清楚才可以的。
5.然后,突然,想起来了,此处,是自己手动设置的交叉编译器
arm-xscale-linux-gnueabi
的,但是对应的,交叉编译器的头文件的路径,却没有添加进来。
所以去看看,通过:
【记录】Ubuntu中尝试在/opt/crosscompile/xscale中找stdio.h
而找到stdio.h所在路径:
crifan@ubuntu:xscale$ find . -name stdio.h ./gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/include/c++/4.6.0/tr1/stdio.h ./gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include/stdio.h ./gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include/bits/stdio.h crifan@ubuntu:xscale$ find . -iname stdio.h ./gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/include/c++/4.6.0/tr1/stdio.h ./gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include/stdio.h ./gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include/bits/stdio.h crifan@ubuntu:xscale$ ls -lha ./gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/ total 32K dr-xr-xr-x 8 crifan crifan 4.0K Aug 8 00:47 . dr-xr-xr-x 6 crifan crifan 4.0K Aug 8 00:47 .. dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 bin dr-xr-xr-x 30 crifan crifan 4.0K Aug 8 00:55 include dr-xr-xr-x 4 crifan crifan 4.0K Aug 8 00:55 lib lrwxrwxrwx 1 crifan crifan 3 Aug 7 23:57 lib32 -> lib lrwxrwxrwx 1 crifan crifan 3 Aug 7 23:57 lib64 -> lib dr-xr-xr-x 3 crifan crifan 4.0K Aug 8 00:47 libexec dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 sbin dr-xr-xr-x 4 crifan crifan 4.0K Aug 8 01:10 share crifan@ubuntu:xscale$ ls -lha ./gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include/ total 1.5M dr-xr-xr-x 30 crifan crifan 4.0K Aug 8 00:55 . dr-xr-xr-x 8 crifan crifan 4.0K Aug 8 00:47 .. -r--r--r-- 1 crifan crifan 7.4K Aug 8 00:47 aio.h -r--r--r-- 1 crifan crifan 2.1K Aug 8 00:47 aliases.h -r--r--r-- 1 crifan crifan 1.3K Aug 8 00:47 alloca.h -r--r--r-- 1 crifan crifan 14K Aug 8 00:55 ansidecl.h -r--r--r-- 1 crifan crifan 4.3K Aug 8 00:47 a.out.h -r--r--r-- 1 crifan crifan 26K Aug 8 00:47 argp.h -r--r--r-- 1 crifan crifan 7.2K Aug 8 00:47 argz.h -r--r--r-- 1 crifan crifan 1.8K Aug 8 00:47 ar.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 arpa dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:37 asm dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:37 asm-generic -r--r--r-- 1 crifan crifan 3.5K Aug 8 00:47 assert.h -r--r--r-- 1 crifan crifan 204K Aug 8 00:55 bfd.h -r--r--r-- 1 crifan crifan 30K Aug 8 00:55 bfdlink.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 bits -r--r--r-- 1 crifan crifan 1.5K Aug 8 00:47 byteswap.h -r--r--r-- 1 crifan crifan 3.5K Aug 8 00:47 complex.h -r--r--r-- 1 crifan crifan 2.3K Aug 8 00:47 cpio.h -r--r--r-- 1 crifan crifan 2.3K Aug 8 00:47 crypt.h -r--r--r-- 1 crifan crifan 12K Aug 8 00:47 ctype.h -r--r--r-- 1 crifan crifan 11K Aug 8 00:47 dirent.h -r--r--r-- 1 crifan crifan 7.0K Aug 8 00:47 dlfcn.h -r--r--r-- 1 crifan crifan 35K Aug 8 00:55 dmalloc.h -r--r--r-- 1 crifan crifan 111K Aug 8 00:47 elf.h -r--r--r-- 1 crifan crifan 3.0K Aug 8 00:47 endian.h -r--r--r-- 1 crifan crifan 2.9K Aug 8 00:47 envz.h -r--r--r-- 1 crifan crifan 2.3K Aug 8 00:47 err.h -r--r--r-- 1 crifan crifan 2.4K Aug 8 00:47 errno.h -r--r--r-- 1 crifan crifan 2.1K Aug 8 00:47 error.h -r--r--r-- 1 crifan crifan 1.6K Aug 8 00:47 execinfo.h -r--r--r-- 1 crifan crifan 7.3K Aug 8 00:47 fcntl.h -r--r--r-- 1 crifan crifan 12K Aug 8 00:47 features.h -r--r--r-- 1 crifan crifan 4.6K Aug 8 00:47 fenv.h -r--r--r-- 1 crifan crifan 3.3K Aug 8 00:47 fmtmsg.h -r--r--r-- 1 crifan crifan 2.5K Aug 8 00:47 fnmatch.h -r--r--r-- 1 crifan crifan 2.0K Aug 8 00:47 fpu_control.h -r--r--r-- 1 crifan crifan 3.1K Aug 8 00:47 fstab.h -r--r--r-- 1 crifan crifan 5.2K Aug 8 00:47 fts.h -r--r--r-- 1 crifan crifan 5.3K Aug 8 00:47 ftw.h -r--r--r-- 1 crifan crifan 2.5K Aug 8 00:47 _G_config.h -r--r--r-- 1 crifan crifan 5.3K Aug 8 00:47 gconv.h -r--r--r-- 1 crifan crifan 25 Aug 8 00:54 gelf.h -r--r--r-- 1 crifan crifan 6.0K Aug 8 00:47 getopt.h -r--r--r-- 1 crifan crifan 6.9K Aug 8 00:47 glob.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 gnu -r--r--r-- 1 crifan crifan 2.4K Aug 8 00:47 gnu-versions.h -r--r--r-- 1 crifan crifan 6.8K Aug 8 00:47 grp.h -r--r--r-- 1 crifan crifan 2.0K Aug 8 00:47 iconv.h -r--r--r-- 1 crifan crifan 4.9K Aug 8 00:47 ieee754.h -r--r--r-- 1 crifan crifan 2.9K Aug 8 00:47 ifaddrs.h -r--r--r-- 1 crifan crifan 12K Aug 8 00:47 inttypes.h -r--r--r-- 1 crifan crifan 16K Aug 8 00:47 langinfo.h -r--r--r-- 1 crifan crifan 126 Aug 8 00:47 lastlog.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:54 libelf -r--r--r-- 1 crifan crifan 27 Aug 8 00:54 libelf.h -r--r--r-- 1 crifan crifan 1.5K Aug 8 00:47 libgen.h -r--r--r-- 1 crifan crifan 4.6K Aug 8 00:47 libintl.h -r--r--r-- 1 crifan crifan 18K Aug 8 00:47 libio.h -r--r--r-- 1 crifan crifan 4.5K Aug 8 00:47 limits.h -r--r--r-- 1 crifan crifan 7.1K Aug 8 00:47 link.h dr-xr-xr-x 15 crifan crifan 16K Aug 8 00:37 linux -r--r--r-- 1 crifan crifan 7.9K Aug 8 00:47 locale.h -r--r--r-- 1 crifan crifan 6.0K Aug 8 00:47 malloc.h -r--r--r-- 1 crifan crifan 16K Aug 8 00:47 math.h -r--r--r-- 1 crifan crifan 2.5K Aug 8 00:47 mcheck.h -r--r--r-- 1 crifan crifan 1.1K Aug 8 00:47 memory.h -r--r--r-- 1 crifan crifan 3.4K Aug 8 00:47 mntent.h -r--r--r-- 1 crifan crifan 1.8K Aug 8 00:47 monetary.h -r--r--r-- 1 crifan crifan 3.8K Aug 8 00:47 mqueue.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:37 mtd dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 net dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 netash dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 netatalk dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 netax25 -r--r--r-- 1 crifan crifan 27K Aug 8 00:47 netdb.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 neteconet dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 netinet dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 netipx dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 netiucv dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 netpacket dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 netrom dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 netrose dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 nfs -r--r--r-- 1 crifan crifan 26 Aug 8 00:54 nlist.h -r--r--r-- 1 crifan crifan 1.8K Aug 8 00:47 nl_types.h -r--r--r-- 1 crifan crifan 2.0K Aug 8 00:47 nss.h -r--r--r-- 1 crifan crifan 20K Aug 8 00:47 obstack.h -r--r--r-- 1 crifan crifan 2.9K Aug 8 00:47 paths.h -r--r--r-- 1 crifan crifan 22 Aug 8 00:47 poll.h -r--r--r-- 1 crifan crifan 5.1K Aug 8 00:47 printf.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 protocols -r--r--r-- 1 crifan crifan 39K Aug 8 00:47 pthread.h -r--r--r-- 1 crifan crifan 1.6K Aug 8 00:47 pty.h -r--r--r-- 1 crifan crifan 6.0K Aug 8 00:47 pwd.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:37 rdma -r--r--r-- 1 crifan crifan 1.0K Aug 8 00:47 re_comp.h -r--r--r-- 1 crifan crifan 22K Aug 8 00:47 regex.h -r--r--r-- 1 crifan crifan 7.0K Aug 8 00:47 regexp.h -r--r--r-- 1 crifan crifan 15K Aug 8 00:47 resolv.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 rpc dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 rpcsvc -r--r--r-- 1 crifan crifan 4.6K Aug 8 00:47 sched.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 scsi -r--r--r-- 1 crifan crifan 5.2K Aug 8 00:47 search.h -r--r--r-- 1 crifan crifan 2.5K Aug 8 00:47 semaphore.h -r--r--r-- 1 crifan crifan 3.9K Aug 8 00:47 setjmp.h -r--r--r-- 1 crifan crifan 1.4K Aug 8 00:47 sgtty.h -r--r--r-- 1 crifan crifan 5.2K Aug 8 00:47 shadow.h -r--r--r-- 1 crifan crifan 14K Aug 8 00:47 signal.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:37 sound -r--r--r-- 1 crifan crifan 6.6K Aug 8 00:47 spawn.h -r--r--r-- 1 crifan crifan 264 Aug 8 00:47 stab.h -r--r--r-- 1 crifan crifan 8.4K Aug 8 00:47 stdint.h -r--r--r-- 1 crifan crifan 2.9K Aug 8 00:47 stdio_ext.h -r--r--r-- 1 crifan crifan 31K Aug 8 00:47 stdio.h -r--r--r-- 1 crifan crifan 32K Aug 8 00:47 stdlib.h -r--r--r-- 1 crifan crifan 17K Aug 8 00:47 string.h -r--r--r-- 1 crifan crifan 2.5K Aug 8 00:47 strings.h -r--r--r-- 1 crifan crifan 3.1K Aug 8 00:47 stropts.h -r--r--r-- 1 crifan crifan 2.2K Aug 8 00:55 symcat.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:47 sys -r--r--r-- 1 crifan crifan 25 Aug 8 00:47 syscall.h -r--r--r-- 1 crifan crifan 5.2K Aug 8 00:47 sysexits.h -r--r--r-- 1 crifan crifan 24 Aug 8 00:47 syslog.h -r--r--r-- 1 crifan crifan 3.7K Aug 8 00:47 tar.h -r--r--r-- 1 crifan crifan 214 Aug 8 00:47 termio.h -r--r--r-- 1 crifan crifan 3.6K Aug 8 00:47 termios.h -r--r--r-- 1 crifan crifan 19K Aug 8 00:47 tgmath.h -r--r--r-- 1 crifan crifan 16K Aug 8 00:47 thread_db.h -r--r--r-- 1 crifan crifan 14K Aug 8 00:47 time.h -r--r--r-- 1 crifan crifan 2.5K Aug 8 00:47 ttyent.h -r--r--r-- 1 crifan crifan 2.0K Aug 8 00:47 ucontext.h -r--r--r-- 1 crifan crifan 1.7K Aug 8 00:47 ulimit.h -r--r--r-- 1 crifan crifan 40K Aug 8 00:47 unistd.h -r--r--r-- 1 crifan crifan 23 Aug 8 00:47 ustat.h -r--r--r-- 1 crifan crifan 1.6K Aug 8 00:47 utime.h -r--r--r-- 1 crifan crifan 3.3K Aug 8 00:47 utmp.h -r--r--r-- 1 crifan crifan 4.2K Aug 8 00:47 utmpx.h -r--r--r-- 1 crifan crifan 2.0K Aug 8 00:47 values.h dr-xr-xr-x 2 crifan crifan 4.0K Aug 8 00:37 video -r--r--r-- 1 crifan crifan 22 Aug 8 00:47 wait.h -r--r--r-- 1 crifan crifan 30K Aug 8 00:47 wchar.h -r--r--r-- 1 crifan crifan 11K Aug 8 00:47 wctype.h -r--r--r-- 1 crifan crifan 2.6K Aug 8 00:47 wordexp.h -r--r--r-- 1 crifan crifan 1.7K Aug 8 00:47 xlocale.h crifan@ubuntu:xscale$
所以,去把对应的路径:
crifan@ubuntu:xscale$ cd ./gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include/ crifan@ubuntu:include$ pwd /opt/crosscompile/xscale/gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include
加到include中:
然后再去编译试试,能否消除错误。
6.结果错误依旧。
所以,再去给GNU C++,也去添加此路径:
注意,此处是针对整个项目HART-IP其下的子项目WBM而添加的:
再重新编译试试。
结果有变化:
没有任何警告和others了,且也可以通过Ctrl+鼠标点击,找到stdio.h了:
但是错误依旧。
7.再去给整个项目HART-IP去添加对应的GNU C++的include路径,结果还会提示,其会导致重新编译:
然后重新编译试试,结果问题依旧。
8.后来注意到,即使给整个项目HART-IP去添加了GNU C和GNU C++的include路径,结果子项目WBM中,还是空的:
即,还需要自己手动添加:
然后再重新编译试试。
结果是问题依旧错误,但是却减少了waring和others了:
所以是有点效果的。
然后才注意到,其实此刻,真的,的确修复了那个:
Type ‘FILE’ could not be resolved
的问题:
即:
由于添加了合适的include文件夹,而使得可以找到了stdio.h了,而可以找到FILE了,从而解决了问题了。
余下的那些错误,是别的错误,需要后续再去解决。
【总结】
此处,Eclipse中,一个C项目,用的makefile调用的交叉编译器arm-xscale-linux-gnueabi去编译,结果出错:
Type ‘FILE’ could not be resolved
的原因是:
FILE的定义在stdio.h中,而此处没有指定合适的stdio.h的include路径。
解决办法:
(通过find而找到stdio.h:
【记录】Ubuntu中尝试在/opt/crosscompile/xscale中找stdio.h
从而找到此处交叉编译器的)include所在路径,加到项目的include中
步骤:
右击项目(注意不是总的项目,而是当前的项目)->Properties->C/C++ General->Paths and Symbols->Include->给GNU C和GNU C++,都去Add对应的路径,此处是:
/opt/crosscompile/xscale/gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include
即可。
转载请注明:在路上 » 【已解决】Eclipse通过Makefile调用交叉编译器交叉编译C项目出错:Type ‘FILE’ could not be resolved