c:\mingw\include\_mingw.h:73:20: fatal error: w32api.h: No such file or directory

本文介绍了一种在使用Eclipse进行C/C++编程时遇到的编译错误,并提供了解决方案。该错误源于缺少必要的头文件路径配置,通过调整设置可以有效解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天心血来潮,根据导师的要求,开始写c语言了。本来想用vim,做java习惯了那种优雅的开发环境,比如代码补全,语法自动检查。转到vim上实在受不了,还是让vim看看Log日志吧,果断转到eclipse编译器上。

clion要钱,破解大家都会,但是要被洋鬼子发现会因为版权问题能被罚死。可以使用eclipse c/c++版本,而且他们还在一直更新。我使用eclipse出现这个错误,国内网站一直没有找到解决方法。

这里有个方法:https://stackoverflow.com/questions/40446450/a-fatal-error-in-compiling-a-c-program

问题描述如下

09:15:59 **** Incremental Build of configuration Debug for project project1 ****
Info: Internal Builder is used for build
g++ "-IC:\\MinGW\\lib\\gcc\\mingw32\\5.3.0\\include\\c++" "-IC:\\MinGW\\lib\\gcc\\mingw32\\5.3.0\\include\\c++\\backward" "-IC:\\MinGW\\lib\\gcc\\mingw32\\5.3.0\\include" "-IC:\\MinGW\\lib\\gcc\\mingw32\\5.3.0\\include-fixed" "-IC:\\MinGW\\lib\\gcc\\mingw32\\5.3.0\\include\\c++\\mingw32" "-IC:\\MinGW\\include" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\project1.o" "..\\src\\project1.cpp" 
In file included from c:\mingw\include\wchar.h:53:0,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:44,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\postypes.h:40,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\iosfwd:40,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\ios:38,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\ostream:38,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\iostream:39,
                 from ..\src\project1.cpp:2:
c:\mingw\include\_mingw.h:73:20: fatal error: w32api.h: No such file or directory
compilation terminated.

09:16:01 Build Finished (took 2s.535ms)

解决方法是找到下图的All Packages里需要安装的插件, 然后在 installation menu中apply changes 

 

 

 

//再补充一点

如果使用vs code的小伙伴,在引入头文件出错

#include errors detected. Please update your includePath. IntelliSense features for this translation unit (/home/waski/myTest/myTest.cpp) will be provided by the Tag Parser. cannot open source file "stddef.h" (dependency of "iostream")

c_cpp_properties.json中"includePath": [] 的已经修改了路径,但还是报原来的错误。不妨使用上面的方法试试。

自己的水平原因可能存在错误和想给意见的,email: chenrui@marsdl.com

-O2 -std=c++1z -fno-exceptions -Wall -Wextra -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -Wno-format-overflow -ffunction-sections -fdata-sections -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_USING_N AMESPACE -DQT_NO_FOREACH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_XML_LIB -DQT_BUILDING_QT -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -DQT_NO_CAST_TO_ASCII -D QT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT _NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../../include -I../../include/QtXml -I../../include/QtXml/5.15.2 -I../../include/QtXml/5.15.2/QtXml -Itmp -I../../include/Q tCore/5.15.2 -I../../include/QtCore/5.15.2/QtCore -I../../include/QtCore -I.moc/release -I../../mkspecs/win32-g++ -o .obj/release/qdomhelpers.o dom/qdomhelpers.cpp In file included from dom/qdomhelpers.cpp:47: ../../include/QtXml/5.15.2/QtXml/private/qxml_p.h:1:10: fatal error: ../../../../../../../../../../../home/z3151/qt5/qtbase/src/xml/sax/qxml_p.h: No such file or directory 1 | #include "../../../../../../../../../../../home/z3151/qt5/qtbase/src/xml/sax/qxml_p.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. mingw32-make[4]: *** [Makefile.Release:485: .obj/release/qdomhelpers.o] Error 1 g++ -c -std=c++17 -O2 -std=c++1z -fno-exceptions -Wall -Wextra -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -Wno-format-overflow -f function-sections -fdata-sections -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATO RS -DQT_NO_FOREACH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_USE_QSTRINGBUILDER -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../../../include -I../../../incming w32-make[4]: *** Waiting for unfinished jobs.... lude/QtCore -I.moc/release -I../../../mkspecs/win32-g++ -o .obj/release/main.o main.cpp g++ -c -include .pch/release/qt_pch.h -std=c++17 -O2 -std=c++1z -ffunction-sections -fdata-sections -fno-exceptions -Wall -Wextra -Wextra -Wvla -Wdate-time -Wshift-overflow =2 -Wduplicated-cond -Wno-stringop-overflow -Wno-format-overflow -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_NO_LINKED_ LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DQT_USE_SYSTEM_PROXIES -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_NETWORK_LIB -DQT_BUILD ING_QT -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DI SABLE_DEPRECATED_BEFORE=0x040800 -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_CORE_LIB -DQT_NO_EXCEPTIONS -I. -I../3rdparty/zlib/src -Ikernel -I ../../include -I../../include/QtNetwork -I../../include/QtNetwork/5.15.2 -I../../include/QtNetwork/5.15.2/QtNetwork -Itmp -I../../include/QtCore/5.15.2 -I../../include/QtCo re/5.15.2/QtCore -I../../include/QtCore -I.moc/release -I../../mkspecs/win32-g++ -o .obj/release/qnetworkaccessauthenticationmanager.o access/qnetworkaccessauthenticationm anager.cpp In file included from access/qnetworkaccessauthenticationmanager_p.h:54, from access/qnetworkaccessauthenticationmanager.cpp:40: ../../include/QtNetwork/5.15.2/QtNetwork/private/qtnetworkglobal_p.h:1:10: fatal error: ../../../../../../../../../../../home/z3151/qt5/qtbase/src/network/kernel/qtnetworkg lobal_p.h: No such file or directory 1 | #include "../../../../../../../../../../../home/z3151/qt5/qtbase/src/network/kernel/qtnetworkglobal_p.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. mingw32-make[4]: *** [Makefile.Release:8702: .obj/release/qnetworkaccessauthenticationmanager.o] Error 1 mingw32-make[4]: Leaving directory 'D:/msys64/home/z3151/qt5/qtbase/src/network' mingw32-make[3]: *** [Makefile:45: release] Error 2 mingw32-make[3]: Leaving directory 'D:/msys64/home/z3151/qt5/qtbase/src/network' mingw32-make[2]: *** [Makefile:304: sub-network-make_first] Error 2 g++ -c -std=c++17 -O2 -std=c++1z -fno-exceptions -Wall -Wextra -Wextra -Wvla -Wdate-time -Wshift-ovec g+ + -c -std=c++17 -O2 -std=c++1z -fno-exceptions -Wall -Wextra -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -Wno-format-overflow -ffu nction-sections -fdata-sections -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_FOREACH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_USE_QSTRINGBUILDER -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../../../include -I../../../include/Q tCore -I.moc/release -I../../../mkspecs/win32-g++ -o .obj/release/recognizer.o recognizer.cpp mingw32-make[4]: Leaving directory 'D:/msys64/home/z3151/qt5/qtbase/src/xml' mingw32-make[3]: *** [Makefile:45: release] Error 2 mingw32-make[3]: Leaving directory 'D:/msys64/home/z3151/qt5/qtbase/src/xml' mingw32-make[2]: *** [Makefile:354: sub-xml-make_first] Error 2 g++ -c -std=c++17 -O2 -std=c++1z -fno-exceptions -Wall -Wextra -Wextra -Wvla -Wdate-time -Wshift-ove../inc w indres -i qlalr_resource.rc -o .obj/release/qlalr_resource_res.o --include-dir=. -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_FOREACH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_USE_QSTRINGBUILDER -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_COR E_LIB g++ -Wl,-s -Wl,-subsystem,console -Wl,--gc-sections -o ../../../bin/qlalr.exe .obj/release/compress.o .obj/release/cppgenerator.o .obj/release/dotgraph.o .obj/release/lalr. o .obj/release/main.o .obj/release/parsetable.o .obj/release/recognizer.o .obj/release/grammar.o D:/msys64/home/z3151/qt5/qtbase/lib/libQt5Core.a -lmpr -luserenv -lversion D:/msys64/home/z3151/qt5/qtbase/lib/libqtpcre2.a -lzstd -lnetapi32 -lws2_32 -ladvapi32 -lkernel32 -lole32 -lshell32 -luuid -luser32 -lwinmm .obj/release/qlalr_resource_res .o mingw32-make[4]: Leaving directory 'D:/msys64/home/z3151/qt5/qtbase/src/tools/qlalr' mingw32-make[3]: Leaving directory 'D:/msys64/home/z3151/qt5/qtbase/src/tools/qlalr' mingw32-make[2]: Leaving directory 'D:/msys64/home/z3151/qt5/qtbase/src' mingw32-make[1]: *** [Makefile:54: sub-src-make_first] Error 2 mingw32-make: *** [Makefile:91: module-qtbase-make_first] Error 2
07-04
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值