diff --git a/AppInstallerReset.sln b/AppInstallerReset.sln
index d9f8a2d..792d8e0 100644
--- a/AppInstallerReset.sln
+++ b/AppInstallerReset.sln
@@ -15,10 +15,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "certmgr", "certmgr\certmgr.
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appinstaller", "appinstaller\appinstaller.vcxproj", "{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}"
ProjectSection(ProjectDependencies) = postProject
- {8EAC0230-4990-4E41-8E0F-D641D1561396} = {8EAC0230-4990-4E41-8E0F-D641D1561396}
{33D91B58-1981-4A3C-B4D1-86EE406CDE12} = {33D91B58-1981-4A3C-B4D1-86EE406CDE12}
- {A7753282-AA16-43D9-8ACA-7065239DD702} = {A7753282-AA16-43D9-8ACA-7065239DD702}
{798ED492-EECE-457D-8FD8-129DA93CE126} = {798ED492-EECE-457D-8FD8-129DA93CE126}
+ {8EAC0230-4990-4E41-8E0F-D641D1561396} = {8EAC0230-4990-4E41-8E0F-D641D1561396}
+ {A7753282-AA16-43D9-8ACA-7065239DD702} = {A7753282-AA16-43D9-8ACA-7065239DD702}
+ {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C} = {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}
{E04CCAB9-35DB-495C-A279-5B483C707CD0} = {E04CCAB9-35DB-495C-A279-5B483C707CD0}
{EF4012D4-EF08-499C-B803-177739350B2D} = {EF4012D4-EF08-499C-B803-177739350B2D}
EndProjectSection
@@ -26,6 +27,7 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "settings", "settings\settings.vcxproj", "{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}"
ProjectSection(ProjectDependencies) = postProject
{3AE2A022-ED83-41F1-948A-12A7593CBD00} = {3AE2A022-ED83-41F1-948A-12A7593CBD00}
+ {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C} = {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reslib", "reslib\reslib.vcxproj", "{3AE2A022-ED83-41F1-948A-12A7593CBD00}"
@@ -48,8 +50,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrivateInit", "PrivateInit\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppxPackage", "AppxPackage\AppxPackage.csproj", "{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}"
ProjectSection(ProjectDependencies) = postProject
- {8EAC0230-4990-4E41-8E0F-D641D1561396} = {8EAC0230-4990-4E41-8E0F-D641D1561396}
{33D91B58-1981-4A3C-B4D1-86EE406CDE12} = {33D91B58-1981-4A3C-B4D1-86EE406CDE12}
+ {8EAC0230-4990-4E41-8E0F-D641D1561396} = {8EAC0230-4990-4E41-8E0F-D641D1561396}
{A7753282-AA16-43D9-8ACA-7065239DD702} = {A7753282-AA16-43D9-8ACA-7065239DD702}
{EF4012D4-EF08-499C-B803-177739350B2D} = {EF4012D4-EF08-499C-B803-177739350B2D}
EndProjectSection
@@ -73,6 +75,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Launch", "Launch\Launch.csp
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Reader", "Reader\Reader.csproj", "{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pugixml", "pugixml\pugixml.vcxproj", "{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
@@ -257,6 +261,13 @@ Global
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|ARM.Build.0 = Release|Any CPU
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|x86.ActiveCfg = Release|Any CPU
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|x86.Build.0 = Release|Any CPU
+ {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|ARM.ActiveCfg = Debug|ARM
+ {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|ARM.Build.0 = Debug|ARM
+ {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|x86.ActiveCfg = Debug|Win32
+ {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|x86.Build.0 = Debug|Win32
+ {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Release|ARM.ActiveCfg = Release|ARM
+ {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Release|x86.ActiveCfg = Release|Win32
+ {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/notes/symlinks.md b/notes/symlinks.md
index 9197a56..244a71f 100644
--- a/notes/symlinks.md
+++ b/notes/symlinks.md
@@ -28,23 +28,47 @@
最终发布时,你也需要将 `shared` 目录中的每一个子目录都复制到发布目录,再打包发布。
-# pkgread 项目需要引用 pugixml.cpp
+# pkgread 项目需要引用 pugixml 代码文件
+
+最后,pkgread 项目引用了我新建的一个叫 pugixml 的项目,包含如下文件:
+
+- `pugixml.cpp`
+- `pugixml.hpp`
+- `pugiconfig.hpp`
-最后,pkgread 项目有一个 `pugixml.cpp` 的引用。
如果没有这个的话,链接器会报错 LNK2019 无法解析的外部符号:
- `pugi::xml_document::load_file`
-- `pugi::as_utf8_`
-- `pugi::as_wide_`
+- `pugi::as_utf8`
+- `pugi::as_wide`
和 LNK1120 n 个无法解析的外部命令。
因为这个解决方案需要一个 NuGet 包叫 `pugixml` ,
-但是这个包默认只有 x86 和 x64 的版本,因此为了编译出 ARM32 版本,我就把 pugixml.cpp 在 pkgread 项目中加了一个引用。
+但是这个包默认只有 x86 和 x64 的版本,因此为了编译出 ARM32 版本,我就把 pugixml.cpp 等文件单开了一个项目。
-迁移之后,你应该需要重新添加这个“现有项”的引用。
+迁移之后,你应该需要在 pugixml 项目中重新添加这几个“现有项”的引用。
路径示例:
```D:\GitHub\App-Installer-For-Windows-8.x-Reset\packages\pugixml.1.15.0\build\native\include\pugixml.cpp```
+我的做法是在整个解决方案中添加了一个新的项目 `pugixml`,这个项目的唯一作用就是编译 pugixml.cpp 生成 pugixml.lib 。
+
+暂时还需要手动将 Debug 和 Release 版本的 pugixml.lib 从生成的路径分别复制到项目生成时所引用的 Debug 和 Release 目录下,才能成功链接。
+
+例如:
+
+生成的目标路径:
+
+```D:\GitHub\App-Installer-For-Windows-8.x-Reset\ARM\Debug\pugixml.lib```
+
+```D:\GitHub\App-Installer-For-Windows-8.x-Reset\ARM\Release\pugixml.lib```
+
+
+你需要复制到的路径:
+
+```D:\GitHub\App-Installer-For-Windows-8.x-Reset\packages\pugixml.1.15.0\build\native\lib\ARM\v140\dynamic\Debug\pugixml.lib```
+
+```D:\GitHub\App-Installer-For-Windows-8.x-Reset\packages\pugixml.1.15.0\build\native\lib\ARM\v140\dynamic\Release\pugixml.lib```
+
diff --git a/pkgread/pkgread.vcxproj b/pkgread/pkgread.vcxproj
index 50b73c5..4643448 100644
--- a/pkgread/pkgread.vcxproj
+++ b/pkgread/pkgread.vcxproj
@@ -189,7 +189,7 @@
Level3
- Use
+ NotUsing
MaxSpeed
true
true
@@ -228,8 +228,6 @@
-
-
@@ -250,7 +248,6 @@
-
false
false
@@ -287,6 +284,11 @@
+
+
+ {b1df139f-cef1-404f-8255-31ef4bf0ec4c}
+
+
diff --git a/pkgread/pkgread.vcxproj.filters b/pkgread/pkgread.vcxproj.filters
index 8be6062..e061920 100644
--- a/pkgread/pkgread.vcxproj.filters
+++ b/pkgread/pkgread.vcxproj.filters
@@ -72,12 +72,6 @@
头文件
-
- 头文件
-
-
- 头文件
-
@@ -89,9 +83,6 @@
源文件
-
- 源文件
-
diff --git a/priformatcli/priformatcli.vcxproj b/priformatcli/priformatcli.vcxproj
index 4f8bbaa..4d30602 100644
--- a/priformatcli/priformatcli.vcxproj
+++ b/priformatcli/priformatcli.vcxproj
@@ -198,7 +198,8 @@
true
true
true
- D:\GitHub\App-Installer-For-Windows-8.x-Reset\ARM\$(Configuration);C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\arm
+
+
shlwapi.lib;version.lib;dwmapi.lib;winhttp.lib;Psapi.lib;advapi32.lib;gdi32.lib;comdlg32.lib;shell32.lib;ole32.lib;%(AdditionalDependencies)
diff --git a/pugixml/pugixml.vcxproj b/pugixml/pugixml.vcxproj
new file mode 100644
index 0000000..6f980fe
--- /dev/null
+++ b/pugixml/pugixml.vcxproj
@@ -0,0 +1,147 @@
+
+
+
+
+ Debug
+ ARM
+
+
+ Debug
+ Win32
+
+
+ Release
+ ARM
+
+
+ Release
+ Win32
+
+
+
+
+
+
+
+
+
+
+ 17.0
+ Win32Proj
+ {b1df139f-cef1-404f-8255-31ef4bf0ec4c}
+ pugixml
+ 8.1
+
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+ NotUsing
+ pch.h
+
+
+
+
+ true
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1
+ true
+ NotUsing
+ pch.h
+
+
+
+
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+ NotUsing
+ pch.h
+
+
+
+
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1
+ true
+ NotUsing
+ pch.h
+
+
+
+
+ true
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pugixml/pugixml.vcxproj.filters b/pugixml/pugixml.vcxproj.filters
new file mode 100644
index 0000000..c132240
--- /dev/null
+++ b/pugixml/pugixml.vcxproj.filters
@@ -0,0 +1,30 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ 头文件
+
+
+ 头文件
+
+
+
+
+ 源文件
+
+
+
\ No newline at end of file