首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MinGW g++在包含它的文件所在的包含文件夹中找不到_G_config.h

MinGW g++在包含它的文件所在的包含文件夹中找不到_G_config.h
EN

Stack Overflow用户
提问于 2021-06-02 10:36:01
回答 1查看 47关注 0票数 0

我正在尝试用MinGW g++进行交叉编译,它似乎在系统包含文件夹中查找文件时出现了选择性问题。

它发现stdio.h很好,libio.h也很好,但它找不到_G_config.h,即使这三个文件都在相同的文件夹中,具有相同的权限,以相同的方式包含。

下面是详细的输出(解开包装以便于阅读;删除用户名):

代码语言:javascript
复制
-\Documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\arm-linux-gnueabihf-g++.exe -v -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"MainSPI.d" -MT"MainSPI.o" -o "MainSPI.o" "../MainSPI.cpp"
Using built-in specs.
COLLECT_GCC=C:\Users\user-------------\Documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\arm-linux-gnueabihf-g++.exe
Target: arm-linux-gnueabihf
Configured with: /home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/snapshots/gcc-linaro-5.3-2016.02/configure
SHELL=/bin/bash --with-bugurl=https://bugs.linaro.org --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/builds/destdir/i686-w64-mingw32 --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/builds/destdir/i686-w64-mingw32 --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/builds/destdir/i686-w64-mingw32 --with-gnu-as --with-gnu-ld --disable-libstdcxx-pch --disable-libmudflap --with-cloog=no --with-ppl=no --with-isl=no --disable-nls --enable-c99 --with-tune=cortex-a9 --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-multilib --enable-multiarch --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/sysroots/arm-linux-gnueabihf --enable-lto --enable-linker-build-id --enable-long-long --enable-shared --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/builds/destdir/i686-w64-mingw32/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran,lto --enable-checking=release --disable-bootstrap --with-bugurl=https://bugs.linaro.org --build=x86_64-unknown-linux-gnu --host=i686-w64-mingw32 --target=arm-linux-gnueabihf --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/builds/destdir/i686-w64-mingw32
Thread model: posix
gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02)
COLLECT_GCC_OPTIONS='-v' '-O0' '-g3' '-Wall' '-c' '-fmessage-length=0' '-MMD' '-MP' '-MF' 'MainSPI.d' '-MT' 'MainSPI.o' '-o' 'MainSPI.o' '-shared-libgcc' '-march=armv7-a' '-mtune=cortex-a9' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mthumb' '-mtls-dialect=gnu'
 c:/users/user-------------/documents/case-sensitive/gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf/bin/../libexec/gcc/arm-linux-gnueabihf/5.3.1/cc1plus.exe -quiet -v -imultilib . -imultiarch arm-linux-gnueabihf -iprefix c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\../lib/gcc/arm-linux-gnueabihf/5.3.1/ -isysroot c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\../arm-linux-gnueabihf/libc -MMD MainSPI.d -MF MainSPI.d -MP -MT MainSPI.o -dD -D_GNU_SOURCE ../MainSPI.cpp -quiet -dumpbase MainSPI.cpp -march=armv7-a -mtune=cortex-a9 -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -mtls-dialect=gnu -auxbase-strip MainSPI.o -g3 -O0 -Wall -version -fmessage-length=0 -o
C:\Users\user\AppData\Local\Temp\cce7dljB.s
GNU C++ (Linaro GCC 5.3-2016.02) version 5.3.1 20160113 (arm-linux-gnueabihf)
        compiled by GNU C version 4.9.1, GMP version 6.0.0, MPFR version 3.1.3,
MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "c:/users/user-------------/documents/case-sensitive/gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf/lib/gcc/../../lib/gcc/arm-linux-gnueabihf/5.3.1/../../../../arm-linux-gnueabihf/include/c++/5.3.1"
ignoring duplicate directory "c:/users/user-------------/documents/case-sensitive/gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf/lib/gcc/../../lib/gcc/arm-linux-gnueabihf/5.3.1/../../../../arm-linux-gnueabihf/include/c++/5.3.1/arm-linux-gnueabihf/."
ignoring duplicate directory "c:/users/user-------------/documents/case-sensitive/gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf/lib/gcc/../../lib/gcc/arm-linux-gnueabihf/5.3.1/../../../../arm-linux-gnueabihf/include/c++/5.3.1/backward"
ignoring duplicate directory "c:/users/user-------------/documents/case-sensitive/gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf/lib/gcc/../../lib/gcc/arm-linux-gnueabihf/5.3.1/include"
ignoring nonexistent directory "c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\../arm-linux-gnueabihf/libc/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/builds/destdir/i686-w64-mingw32/lib/gcc/arm-linux-gnueabihf/5.3.1/../../../../include/arm-linux-gnueabihf"
ignoring nonexistent directory "c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\../arm-linux-gnueabihf/libc/home/tcwg-buildslave/workspace/tcwg-make-release/label/tcwg-x86_64-ex40/target/arm-linux-gnueabihf/_build/builds/destdir/i686-w64-mingw32/lib/gcc/arm-linux-gnueabihf/5.3.1/../../../../include"
ignoring duplicate directory "c:/users/user-------------/documents/case-sensitive/gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf/lib/gcc/../../lib/gcc/arm-linux-gnueabihf/5.3.1/include-fixed"
ignoring duplicate directory "c:/users/user-------------/documents/case-sensitive/gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf/lib/gcc/../../lib/gcc/arm-linux-gnueabihf/5.3.1/../../../../arm-linux-gnueabihf/include"
#include "..." search starts here:
#include <...> search starts here:
 c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\../lib/gcc/arm-linux-gnueabihf/5.3.1/../../../../arm-linux-gnueabihf/include/c++/5.3.1
 c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\../lib/gcc/arm-linux-gnueabihf/5.3.1/../../../../arm-linux-gnueabihf/include/c++/5.3.1/arm-linux-gnueabihf/.
 c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\../lib/gcc/arm-linux-gnueabihf/5.3.1/../../../../arm-linux-gnueabihf/include/c++/5.3.1/backward
 c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\../lib/gcc/arm-linux-gnueabihf/5.3.1/include
 c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\../lib/gcc/arm-linux-gnueabihf/5.3.1/include-fixed
 c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\../lib/gcc/arm-linux-gnueabihf/5.3.1/../../../../arm-linux-gnueabihf/include
 c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\../arm-linux-gnueabihf/libc/usr/include/arm-linux-gnueabihf
 c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\bin\../arm-linux-gnueabihf/libc/usr/include
End of search list.
GNU C++ (Linaro GCC 5.3-2016.02) version 5.3.1 20160113 (arm-linux-gnueabihf)
        compiled by GNU C version 4.9.1, GMP version 6.0.0, MPFR version 3.1.3,
MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: d41011bf5dc0e7b64084b0a5dc2942fd
In file included from c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\arm-linux-gnueabihf\libc\usr\include\stdio.h:75:0,
                 from ../MainSPI.cpp:4:
c:\users\user-------------\documents\case-sensitive\gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf\arm-linux-gnueabihf\libc\usr\include\libio.h:32:23:
fatal error: _G_config.h: No such file or directory
compilation terminated.

下面是我再次确认文件是否在第8/last搜索目录中:

代码语言:javascript
复制
...abihf/arm-linux-gnueabihf/libc/usr/include$ ls -l _G_config.h stdio.h libio.h
-rwxrwxrwx 1 root root  2526 Jun 19  2017 _G_config.h
-rwxrwxrwx 1 root root 17790 Jun 19  2017 libio.h
-rwxrwxrwx 1 root root 31525 Jun 19  2017 stdio.h
...abihf/arm-linux-gnueabihf/libc/usr/include$ sed -n '32p' libio.h
#include <_G_config.h>
...abihf/arm-linux-gnueabihf/libc/usr/include$ sed -n '75p' stdio.h
#include <libio.h>

我不认为这是相关的,但这是在Windows10上启用了WSL,并且我为文件夹case-sensitive启用了区分大小写的文件系统。

至于我的实际问题:为什么g++找不到_G_config.h,我如何才能修复它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-13 18:27:42

我不确定这是否是答案。但是,我在Linaro GCC 5.5.0-2017.10上遇到了类似的情况,结果发现是Windows上的路径长度问题。对于您来说也可能是这种情况,因为没有找到的文件的名称比找到的两个文件的名称更长(就像我的例子一样)。测试很简单,从目录结构中删除一些级别(对于此测试的目的),例如,只需移动基本文件夹或项目,或使用较短的名称重命名其中的一部分,并查看构建是否开始工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67798204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档