Maven NAR 插件在更新到 3.3.0 时在 Windows.h 中出现大量错误
Maven NAR plugin lots of errors in Windows.h when updating to 3.3.0
有一个简单的程序:
#pragma comment(lib, "user32")
#include <windows.h>
int main() {
MessageBox(NULL, "hello world", "", 0);
return 0;
}
而这个简单的绒球.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>lmiguelmh.test</groupId>
<artifactId>msgbox-app</artifactId>
<version>1.0</version>
<packaging>nar</packaging>
<build>
<plugins>
<plugin>
<groupId>com.github.maven-nar</groupId>
<artifactId>nar-maven-plugin</artifactId>
<version>3.2.3</version>
<extensions>true</extensions>
<configuration>
<libraries>
<library>
<type>executable</type>
<run>true</run>
</library>
</libraries>
</configuration>
</plugin>
</plugins>
</build>
</project>
在这种情况下,我使用的是nar-maven-plugin
版本3.2.3。我可以运行mvn compile
,工件msgbox-app.exe
将成功生成。
但是当我将nar-maven-plugin
的版本更改为 3.3.0 并运行mvn compile
时,我收到很多错误:
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1243) : error C2065: 'SAL_sameIRQL' : undeclared identifier
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1243) : error C2065: 'SAL_sameIRQL' : undeclared identifier
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1246) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1246) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1246) : error C2513: 'int' : no variable declared before '='
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1246) : error C2513: 'int' : no variable declared before '='
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1246) : error C2146: syntax error : missing ';' before identifier 'EXCEPTION_DISPOSITION'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1246) : error C2146: syntax error : missing ';' before identifier 'EXCEPTION_DISPOSITION'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1246) : error C2143: syntax error : missing ';' before '__stdcall'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1246) : error C2143: syntax error : missing ';' before '__stdcall'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1246) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1246) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1246) : error C2377: 'EXCEPTION_DISPOSITION' : redefinition; typedef cannot be overloaded with any other symbol
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1246) : error C2377: 'EXCEPTION_DISPOSITION' : redefinition; typedef cannot be overloaded with any other symbol
[INFO] C:Program Files (x86)Microsoft Visual Studio 9.0VCincludeexcpt.h(44) : see declaration of 'EXCEPTION_DISPOSITION'
[INFO] C:Program Files (x86)Microsoft Visual Studio 9.0VCincludeexcpt.h(44) : see declaration of 'EXCEPTION_DISPOSITION'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1252) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1252) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1254) : error C2143: syntax error : missing ';' before '*'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1254) : error C2143: syntax error : missing ';' before '*'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1254) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1254) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1254) : error C2365: 'EXCEPTION_ROUTINE' : redefinition; previous definition was 'function'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1254) : error C2365: 'EXCEPTION_ROUTINE' : redefinition; previous definition was 'function'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1247) : see declaration of 'EXCEPTION_ROUTINE'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1247) : see declaration of 'EXCEPTION_ROUTINE'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1254) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(1254) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(10749) : error C2146: syntax error : missing ';' before identifier 'Handler'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(10749) : error C2146: syntax error : missing ';' before identifier 'Handler'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(10749) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(10749) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(10749) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(10749) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(16638) : error C2144: syntax error : 'PSLIST_ENTRY' should be preceded by ','
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(16638) : error C2144: syntax error : 'PSLIST_ENTRY' should be preceded by ','
[INFO] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(16646) : error C2144: syntax error : 'PSLIST_ENTRY' should be preceded by ','
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumwinnt.h(16646) : error C2144: syntax error : 'PSLIST_ENTRY' should be preceded by ','
[INFO] C:Program Files (x86)Windows Kits8.0Includeumheapapi.h(124) : error C2061: syntax error : identifier '_SA_annotes1'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumheapapi.h(124) : error C2061: syntax error : identifier '_SA_annotes1'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumheapapi.h(125) : error C2059: syntax error : ')'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumheapapi.h(125) : error C2059: syntax error : ')'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumheapapi.h(125) : error C2143: syntax error : missing ')' before ';'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumheapapi.h(125) : error C2143: syntax error : missing ')' before ';'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumprocessthreadsapi.h(204) : error C2144: syntax error : 'LPVOID' should be preceded by ','
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumprocessthreadsapi.h(204) : error C2144: syntax error : 'LPVOID' should be preceded by ','
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(189) : error C2065: 'SAL_preferredFunction' : undeclared identifier
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(189) : error C2065: 'SAL_preferredFunction' : undeclared identifier
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(192) : error C2448: '_SA_annotes2' : function-style initializer appears to be a function definition
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(192) : error C2448: '_SA_annotes2' : function-style initializer appears to be a function definition
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(192) : error C2143: syntax error : missing ';' before '__stdcall'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(192) : error C2143: syntax error : missing ';' before '__stdcall'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(351) : error C2065: 'COMPUTER_NAME_FORMAT' : undeclared identifier
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(351) : error C2065: 'COMPUTER_NAME_FORMAT' : undeclared identifier
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(351) : error C2146: syntax error : missing ')' before identifier 'NameType'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(351) : error C2146: syntax error : missing ')' before identifier 'NameType'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(351) : warning C4229: anachronism used : modifiers on data are ignored
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(351) : warning C4229: anachronism used : modifiers on data are ignored
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(351) : error C2491: 'GetComputerNameExA' : definition of dllimport data not allowed
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(351) : error C2491: 'GetComputerNameExA' : definition of dllimport data not allowed
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(354) : error C2059: syntax error : ')'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(354) : error C2059: syntax error : ')'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(361) : error C2065: 'COMPUTER_NAME_FORMAT' : undeclared identifier
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(361) : error C2065: 'COMPUTER_NAME_FORMAT' : undeclared identifier
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(361) : error C2146: syntax error : missing ')' before identifier 'NameType'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(361) : error C2146: syntax error : missing ')' before identifier 'NameType'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(361) : warning C4229: anachronism used : modifiers on data are ignored
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(361) : warning C4229: anachronism used : modifiers on data are ignored
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(361) : error C2491: 'GetComputerNameExW' : definition of dllimport data not allowed
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(361) : error C2491: 'GetComputerNameExW' : definition of dllimport data not allowed
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(364) : error C2059: syntax error : ')'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(364) : error C2059: syntax error : ')'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(383) : error C2065: 'COMPUTER_NAME_FORMAT' : undeclared identifier
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(383) : error C2065: 'COMPUTER_NAME_FORMAT' : undeclared identifier
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(383) : error C2146: syntax error : missing ')' before identifier 'NameType'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(383) : error C2146: syntax error : missing ')' before identifier 'NameType'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(383) : warning C4229: anachronism used : modifiers on data are ignored
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(383) : warning C4229: anachronism used : modifiers on data are ignored
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(383) : error C2491: 'SetComputerNameExW' : definition of dllimport data not allowed
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(383) : error C2491: 'SetComputerNameExW' : definition of dllimport data not allowed
[INFO] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(385) : error C2059: syntax error : ')'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumsysinfoapi.h(385) : error C2059: syntax error : ')'
[INFO] C:Program Files (x86)Windows Kits8.0Includeummemoryapi.h(429) : error C2065: 'MEMORY_RESOURCE_NOTIFICATION_TYPE' : undeclared identifier
[ERROR] C:Program Files (x86)Windows Kits8.0Includeummemoryapi.h(429) : error C2065: 'MEMORY_RESOURCE_NOTIFICATION_TYPE' : undeclared identifier
[INFO] C:Program Files (x86)Windows Kits8.0Includeummemoryapi.h(430) : error C2146: syntax error : missing ')' before identifier 'NotificationType'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeummemoryapi.h(430) : error C2146: syntax error : missing ')' before identifier 'NotificationType'
[INFO] C:Program Files (x86)Windows Kits8.0Includeummemoryapi.h(430) : warning C4229: anachronism used : modifiers on data are ignored
[INFO] C:Program Files (x86)Windows Kits8.0Includeummemoryapi.h(430) : warning C4229: anachronism used : modifiers on data are ignored
[INFO] C:Program Files (x86)Windows Kits8.0Includeummemoryapi.h(430) : error C2491: 'CreateMemoryResourceNotification' : definition of dllimport data not allowed
[ERROR] C:Program Files (x86)Windows Kits8.0Includeummemoryapi.h(430) : error C2491: 'CreateMemoryResourceNotification' : definition of dllimport data not allowed
[INFO] C:Program Files (x86)Windows Kits8.0Includeummemoryapi.h(430) : error C2059: syntax error : ')'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeummemoryapi.h(430) : error C2059: syntax error : ')'
[INFO] C:Program Files (x86)Windows Kits8.0Includeummemoryapi.h(536) : error C2061: syntax error : identifier 'PWIN32_MEMORY_RANGE_ENTRY'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeummemoryapi.h(536) : error C2061: syntax error : identifier 'PWIN32_MEMORY_RANGE_ENTRY'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumthreadpoolapiset.h(341) : error C2061: syntax error : identifier 'PTP_WIN32_IO_CALLBACK'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumthreadpoolapiset.h(341) : error C2061: syntax error : identifier 'PTP_WIN32_IO_CALLBACK'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(54) : error C2061: syntax error : identifier 'BEM_FREE_INTERFACE_CALLBACK'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(54) : error C2061: syntax error : identifier 'BEM_FREE_INTERFACE_CALLBACK'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(64) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(64) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(64) : error C2143: syntax error : missing ',' before '*'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(64) : error C2143: syntax error : missing ',' before '*'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(73) : error C2065: 'BEM_REFERENCE' : undeclared identifier
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(73) : error C2065: 'BEM_REFERENCE' : undeclared identifier
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(73) : error C2065: 'reference' : undeclared identifier
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(73) : error C2065: 'reference' : undeclared identifier
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(74) : error C2065: 'BEM_REFERENCE' : undeclared identifier
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(74) : error C2065: 'BEM_REFERENCE' : undeclared identifier
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(75) : error C2065: 'copiedReference' : undeclared identifier
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(75) : error C2065: 'copiedReference' : undeclared identifier
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(75) : warning C4229: anachronism used : modifiers on data are ignored
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(75) : warning C4229: anachronism used : modifiers on data are ignored
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(75) : error C2078: too many initializers
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(75) : error C2078: too many initializers
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(81) : error C2065: 'BEM_REFERENCE' : undeclared identifier
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(81) : error C2065: 'BEM_REFERENCE' : undeclared identifier
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(82) : error C2065: 'reference' : undeclared identifier
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(82) : error C2065: 'reference' : undeclared identifier
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(82) : warning C4229: anachronism used : modifiers on data are ignored
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(82) : warning C4229: anachronism used : modifiers on data are ignored
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(82) : error C2182: 'BemFreeReference' : illegal use of type 'void'
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(82) : error C2182: 'BemFreeReference' : illegal use of type 'void'
[INFO] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(82) : fatal error C1903: unable to recover from previous error(s); stopping compilation
[ERROR] C:Program Files (x86)Windows Kits8.0Includeumbemapiset.h(82) : fatal error C1903: unable to recover from previous error(s); stopping compilation
更新也许问题是差异 1) 搜索 Visual Studio 的方式(在我的情况下,我有 msvc9 和 msvc11) 2) 以编译器被调用的方式:
对于 3.2.3
[DEBUG] cl /c /nologo /EHsc /DNDEBUG /MD /GR /DWindows /DWIN32 /IE:PROYtestdev1.0msgbox-appsrcmaininclude E:PROYtestdev1.0msgbox-appsrcmaincmain.cpp
[DEBUG] Execute:Java13CommandLauncher: Executing 'cl' with arguments:
''
'/c'
'/nologo'
'/EHsc'
'/DNDEBUG'
'/MD'
'/GR'
'/DWindows'
'/DWIN32'
'/IE:PROYtestdev1.0msgbox-appsrcmaininclude'
'E:PROYtestdev1.0msgbox-appsrcmaincmain.cpp'
对于 3.3.0
[DEBUG] "C:Program Files (x86)Microsoft Visual Studio 9.0VCbincl" /c /nologo /EHsc /DNDEBUG /MD /GR /DWIN32 /IE:PROYtestdev1.0msgbox-apptargetnarobjx86-Windows-msvc /IE:PROYtestdev1.0msgbox-apptargetnarobjx86-Windows-msvc /IE:PROYtestdev1.0msgbox-appsrcmaininclude "/IC:Program Files (x86)Microsoft Visual Studio 9.0VCinclude" "/IC:Program Files (x86)Microsoft Visual Studio 9.0VCatlmfcinclude" "/IC:Program Files (x86)Windows Kits8.0Includeum" "/IC:Program Files (x86)Windows Kits8.0Includeshared" "/IC:Program Files (x86)Windows Kits8.0Includewinrt" /FoE:PROYtestdev1.0msgbox-apptargetnarobjx86-Windows-msvcmain.c1e925e5.obj c/main.cpp
[DEBUG] Setting environment variable: PATH=C:Program Files (x86)Microsoft Visual Studio 9.0VCbin;C:Program Files (x86)Microsoft Visual Studio 9.0VCvcpackages;C:Program Files (x86)Microsoft Visual Studio 9.0Common7Tools;C:Program Files (x86)Microsoft Visual Studio 9.0Common7IDE;C:Program Files (x86)Windows Kits8.0binx86;C:WindowsSystem32;C:Windows;C:WindowsSystem32wbem
[DEBUG] Setting environment variable: SystemRoot=C:windows
[DEBUG] Setting environment variable: TMP=C:UserslmamaniAppDataLocalTemp
[DEBUG] Execute:Java13CommandLauncher: Executing 'C:Program Files (x86)Microsoft Visual Studio 9.0VCbincl' with arguments:
''
'/c'
'/nologo'
'/EHsc'
'/DNDEBUG'
'/MD'
'/GR'
'/DWIN32'
'/IE:PROYtestdev1.0msgbox-apptargetnarobjx86-Windows-msvc'
'/IE:PROYtestdev1.0msgbox-apptargetnarobjx86-Windows-msvc'
'/IE:PROYtestdev1.0msgbox-appsrcmaininclude'
'/IC:Program Files (x86)Microsoft Visual Studio 9.0VCinclude'
'/IC:Program Files (x86)Microsoft Visual Studio 9.0VCatlmfcinclude'
'/IC:Program Files (x86)Windows Kits8.0Includeum'
'/IC:Program Files (x86)Windows Kits8.0Includeshared'
'/IC:Program Files (x86)Windows Kits8.0Includewinrt'
'/FoE:PROYtestdev1.0msgbox-apptargetnarobjx86-Windows-msvcmain.c1e925e5.obj'
'c/main.cpp'
重要提示:此问题的最新更新可在 https://github.com/maven-nar/nar-maven-plugin/issues/217
正如我所说,问题是添加到Maven NAR插件中的功能。最初的答案是由GregDomjan在github上发布的,可以在这里找到:
Maven NAR 插件:在 3.3.0 版中使用 Windows.h 的简单程序中的编译器错误
TLDR:您需要使用最新版本的插件(3.3.0)并根据您的环境修改您的配置(在我的例子中是msvc11.0/winsdk8.0):
<build>
<plugins>
<plugin>
<groupId>com.github.maven-nar</groupId>
<artifactId>nar-maven-plugin</artifactId>
<version>3.3.0</version>
<extensions>true</extensions>
<configuration>
<libraries>
<library>
<type>executable</type>
<run>true</run>
</library>
</libraries>
<msvc>
<version>11.0</version>
<windowsSdkVersion>8.0</windowsSdkVersion>
</msvc>
</configuration>
</plugin>
</plugins>
</build>
相关文章:
- Windows/Cygwin - 不能使用 pybind11 - 犯错误
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- Android NDK clang 编译器错误在 Windows 上显示'No such file or directory'
- 分段 Linux Ubuntu 中的 g++ 错误,但在 Windows 中的 g++/MingW 中,在 C++ 中打
- Windows C++:文件夹移动访问被拒绝错误
- C++20 个模块在 clang (Windows):在最简单的示例中键入信息错误
- g++ 9.2.1 (Linux) 会导致 seg 错误,但 Windows 上的代码块不会
- 0xc000007b Windows 上的 OpenCL 库的加载时间错误
- Windows SAPI 错误:"GetVersionExA":已声明已弃用
- 在 Windows 10 下使用 GTest 的 CMake - 致命错误 LNK1104:无法打开文件"gtest.lib",但存在调试"gtestd.lib"
- 在 Windows 10 下为 VTK 生成 Makefile 时,Qt mkspecs 的路径错误
- C++ - 程序接收信号SIGSEGV,分段错误.In msvcrt!memcpy () (C:\Windows\S
- Windows上的Flite API错误
- 可能的 std::async 实现错误 Windows
- c ++ to_string未在此范围错误 [Windows + Devcpp 环境] 中声明
- QT 5.8 SQL连接错误:Windows 10上未加载QMYSQL驱动程序
- Button类中的错误-Windows触发了断点SDL
- 链接错误:Windows上使用MinGW的Boost库
- 异步事件:已定义链接器错误[Windows Update API]
- “__m256”的包装器产生构造函数的分段错误 - Windows 64 + MinGW + AVX 问题