g++ -DWIN32 选项的作用

代码如下:

//test_win32.cpp
#include<stdio.h>
#ifdef WIN32
    #define N 1
#else 
    #define N 0
#endif

int main(){
    int n = N;
    printf("%d\n", n);
    return 0;
}

编译使用 g++ test_win32.cpp 命令,输出是 0

编译使用 g++ -DWIN32 test_win32.cpp 命令,输出是 1

-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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值