mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
Workaround nuke not autoaddling dep lib (#859)
* #pragma comment(lib, <minhook lib>) * Fix logging path, and make common files not use pch * Move lib import to vcproj from pragma * a * Make copy of vcxproj for minhook from submodule to lib dir * nuke it * .
This commit is contained in:
parent
dbb0cb3d56
commit
b6237267ce
8 changed files with 134 additions and 46 deletions
|
|
@ -32,8 +32,12 @@
|
||||||
<IntDir>obj\$(Configuration)\</IntDir>
|
<IntDir>obj\$(Configuration)\</IntDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LibraryPath>$(SolutionDir)bin\lib\$(Configuration)\libMinHook\;$(LibraryPath)</LibraryPath>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup>
|
<ItemDefinitionGroup>
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
|
@ -95,8 +99,36 @@
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="logging.cpp" />
|
<ClCompile Include="..\lib\TsudaKageyu-minhook\src\buffer.c">
|
||||||
<ClCompile Include="unicode.cpp" />
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\lib\TsudaKageyu-minhook\src\HDE\hde32.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\lib\TsudaKageyu-minhook\src\HDE\hde64.c">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\lib\TsudaKageyu-minhook\src\hook.c">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\lib\TsudaKageyu-minhook\src\trampoline.c">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="logging.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="unicode.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="xivfixes.cpp" />
|
<ClCompile Include="xivfixes.cpp" />
|
||||||
<ClCompile Include="utils.cpp" />
|
<ClCompile Include="utils.cpp" />
|
||||||
<ClCompile Include="pch_nmd_assembly_impl.cpp">
|
<ClCompile Include="pch_nmd_assembly_impl.cpp">
|
||||||
|
|
@ -120,6 +152,14 @@
|
||||||
<ClInclude Include="..\lib\CoreCLR\core\coreclr_delegates.h" />
|
<ClInclude Include="..\lib\CoreCLR\core\coreclr_delegates.h" />
|
||||||
<ClInclude Include="..\lib\CoreCLR\core\hostfxr.h" />
|
<ClInclude Include="..\lib\CoreCLR\core\hostfxr.h" />
|
||||||
<ClInclude Include="..\lib\CoreCLR\nethost\nethost.h" />
|
<ClInclude Include="..\lib\CoreCLR\nethost\nethost.h" />
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\include\MinHook.h" />
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\buffer.h" />
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\HDE\hde32.h" />
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\HDE\hde64.h" />
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\HDE\pstdint.h" />
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\HDE\table32.h" />
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\HDE\table64.h" />
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\trampoline.h" />
|
||||||
<ClInclude Include="bootconfig.h" />
|
<ClInclude Include="bootconfig.h" />
|
||||||
<ClInclude Include="hooks.h" />
|
<ClInclude Include="hooks.h" />
|
||||||
<ClInclude Include="logging.h" />
|
<ClInclude Include="logging.h" />
|
||||||
|
|
@ -129,11 +169,6 @@
|
||||||
<ClInclude Include="veh.h" />
|
<ClInclude Include="veh.h" />
|
||||||
<ClInclude Include="xivfixes.h" />
|
<ClInclude Include="xivfixes.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\lib\TsudaKageyu-minhook\build\VC16\libMinHook.vcxproj">
|
|
||||||
<Project>{f142a341-5ee0-442d-a15f-98ae9b48dbae}</Project>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<Target Name="RemoveExtraFiles" AfterTargets="PostBuildEvent">
|
<Target Name="RemoveExtraFiles" AfterTargets="PostBuildEvent">
|
||||||
<Delete Files="$(OutDir)$(TargetName).lib" />
|
<Delete Files="$(OutDir)$(TargetName).lib" />
|
||||||
<Delete Files="$(OutDir)$(TargetName).exp" />
|
<Delete Files="$(OutDir)$(TargetName).exp" />
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,12 @@
|
||||||
<Filter Include="Project Files">
|
<Filter Include="Project Files">
|
||||||
<UniqueIdentifier>{0c915688-91ea-431f-8b68-845cad422a50}</UniqueIdentifier>
|
<UniqueIdentifier>{0c915688-91ea-431f-8b68-845cad422a50}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
<Filter Include="Common Boot">
|
||||||
|
<UniqueIdentifier>{e31f7ca0-db29-4198-8b91-bb11b339705f}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="MinHook">
|
||||||
|
<UniqueIdentifier>{6ec5597d-e293-4d2a-a307-7444c8fac04b}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="dllmain.cpp">
|
<ClCompile Include="dllmain.cpp">
|
||||||
|
|
@ -41,10 +47,25 @@
|
||||||
<Filter>Dalamud.Boot DLL</Filter>
|
<Filter>Dalamud.Boot DLL</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="logging.cpp">
|
<ClCompile Include="logging.cpp">
|
||||||
<Filter>Dalamud.Boot DLL</Filter>
|
<Filter>Common Boot</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="unicode.cpp">
|
<ClCompile Include="unicode.cpp">
|
||||||
<Filter>Dalamud.Boot DLL</Filter>
|
<Filter>Common Boot</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\lib\TsudaKageyu-minhook\src\buffer.c">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\lib\TsudaKageyu-minhook\src\HDE\hde32.c">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\lib\TsudaKageyu-minhook\src\HDE\hde64.c">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\lib\TsudaKageyu-minhook\src\hook.c">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\lib\TsudaKageyu-minhook\src\trampoline.c">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
@ -82,10 +103,34 @@
|
||||||
<Filter>Dalamud.Boot DLL</Filter>
|
<Filter>Dalamud.Boot DLL</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="logging.h">
|
<ClInclude Include="logging.h">
|
||||||
<Filter>Dalamud.Boot DLL</Filter>
|
<Filter>Common Boot</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="unicode.h">
|
<ClInclude Include="unicode.h">
|
||||||
<Filter>Dalamud.Boot DLL</Filter>
|
<Filter>Common Boot</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\trampoline.h">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\buffer.h">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\HDE\hde32.h">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\HDE\hde64.h">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\include\MinHook.h">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\HDE\pstdint.h">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\HDE\table32.h">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\lib\TsudaKageyu-minhook\src\HDE\table64.h">
|
||||||
|
<Filter>MinHook</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
@ -9,13 +9,19 @@ HMODULE g_hModule;
|
||||||
HINSTANCE g_hGameInstance = GetModuleHandleW(nullptr);
|
HINSTANCE g_hGameInstance = GetModuleHandleW(nullptr);
|
||||||
|
|
||||||
DllExport DWORD WINAPI Initialize(LPVOID lpParam, HANDLE hMainThreadContinue) {
|
DllExport DWORD WINAPI Initialize(LPVOID lpParam, HANDLE hMainThreadContinue) {
|
||||||
logging::log_file.open(utils::get_env<std::wstring>("DALAMUD_BOOT_LOGFILE"), std::ios_base::out | std::ios_base::app);
|
|
||||||
|
|
||||||
if (bootconfig::is_show_console())
|
if (bootconfig::is_show_console())
|
||||||
ConsoleSetup(L"Dalamud Boot");
|
ConsoleSetup(L"Dalamud Boot");
|
||||||
|
|
||||||
if (!logging::log_file) {
|
if (const auto logFilePath = utils::get_env<std::wstring>("DALAMUD_BOOT_LOGFILE"); logFilePath.empty())
|
||||||
logging::print<logging::E>("Couldn't open log file!");
|
logging::print<logging::I>("No log file path given; not logging to file.");
|
||||||
|
else {
|
||||||
|
try {
|
||||||
|
logging::start_file_logging(logFilePath);
|
||||||
|
logging::print<logging::I>(L"Logging to file: {}", logFilePath);
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
logging::print<logging::E>(L"Couldn't open log file: {}", logFilePath);
|
||||||
|
logging::print<logging::E>("Error: {} / {}", errno, e.what());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
logging::print<logging::I>("Dalamud.Boot Injectable, (c) 2021 XIVLauncher Contributors");
|
logging::print<logging::I>("Dalamud.Boot Injectable, (c) 2021 XIVLauncher Contributors");
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,13 @@
|
||||||
#include "pch.h"
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#include <Windows.h>
|
||||||
|
|
||||||
|
#include <fstream>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
#include "logging.h"
|
#include "logging.h"
|
||||||
|
|
||||||
static bool s_bLoaded = false;
|
static bool s_bLoaded = false;
|
||||||
|
static std::shared_ptr<void> s_hLogFile;
|
||||||
|
|
||||||
void logging::print(Level level, const char* s) {
|
void logging::print(Level level, const char* s) {
|
||||||
SYSTEMTIME st;
|
SYSTEMTIME st;
|
||||||
|
|
@ -39,14 +45,27 @@ void logging::print(Level level, const char* s) {
|
||||||
DWORD wr{};
|
DWORD wr{};
|
||||||
WriteFile(GetStdHandle(STD_ERROR_HANDLE), &estr[0], static_cast<DWORD>(estr.size()), &wr, nullptr);
|
WriteFile(GetStdHandle(STD_ERROR_HANDLE), &estr[0], static_cast<DWORD>(estr.size()), &wr, nullptr);
|
||||||
|
|
||||||
if (log_file.is_open())
|
if (s_hLogFile) {
|
||||||
{
|
WriteFile(s_hLogFile.get(), &estr[0], static_cast<DWORD>(estr.size()), &wr, nullptr);
|
||||||
log_file << estr;
|
|
||||||
log_file.flush();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void logging::start_file_logging(const std::filesystem::path& path) {
|
||||||
|
if (s_hLogFile)
|
||||||
|
return;
|
||||||
|
|
||||||
|
const auto h = CreateFile(path.wstring().c_str(),
|
||||||
|
GENERIC_WRITE,
|
||||||
|
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
||||||
|
nullptr, OPEN_ALWAYS, 0, nullptr);
|
||||||
|
if (h == INVALID_HANDLE_VALUE)
|
||||||
|
throw std::runtime_error(std::format("Win32 error {}(0x{:x})", GetLastError(), GetLastError()));
|
||||||
|
|
||||||
|
SetFilePointer(h, 0, 0, FILE_END);
|
||||||
|
s_hLogFile = { h, &CloseHandle };
|
||||||
|
}
|
||||||
|
|
||||||
void logging::update_dll_load_status(bool loaded) {
|
void logging::update_dll_load_status(bool loaded) {
|
||||||
s_bLoaded = loaded;
|
s_bLoaded = loaded;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,13 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <filesystem>
|
||||||
#include <format>
|
#include <format>
|
||||||
#include <numeric>
|
#include <numeric>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <fstream>
|
|
||||||
|
|
||||||
#include "unicode.h"
|
#include "unicode.h"
|
||||||
|
|
||||||
namespace logging {
|
namespace logging {
|
||||||
inline std::ofstream log_file;
|
|
||||||
|
|
||||||
enum Level : int {
|
enum Level : int {
|
||||||
Verbose = 0,
|
Verbose = 0,
|
||||||
V = 0,
|
V = 0,
|
||||||
|
|
@ -65,5 +63,7 @@ namespace logging {
|
||||||
print(level, std::format(pcszFormat, std::forward<Arg>(arg1), std::forward<Args>(args)...));
|
print(level, std::format(pcszFormat, std::forward<Arg>(arg1), std::forward<Args>(args)...));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void start_file_logging(const std::filesystem::path& path);
|
||||||
|
|
||||||
void update_dll_load_status(bool loaded);
|
void update_dll_load_status(bool loaded);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
#include "pch.h"
|
|
||||||
|
|
||||||
#include "unicode.h"
|
#include "unicode.h"
|
||||||
|
|
||||||
size_t unicode::decode(EncodingTag<char8_t>, char32_t& out, const char8_t* in, size_t nRemainingBytes, bool strict) {
|
size_t unicode::decode(EncodingTag<char8_t>, char32_t& out, const char8_t* in, size_t nRemainingBytes, bool strict) {
|
||||||
|
|
|
||||||
|
|
@ -108,7 +108,7 @@ namespace Dalamud.Injector
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
var logPath = Path.Combine(baseDirectory, $"{filename}.log");
|
var logPath = Path.Combine(baseDirectory, $"{filename}.log");
|
||||||
#else
|
#else
|
||||||
var logPath = Path.Combine(baseDirectory, "..", "..", "..", "dalamud.injector.log");
|
var logPath = Path.Combine(baseDirectory, "..", "..", "..", $"{filename}.log");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return logPath;
|
return logPath;
|
||||||
|
|
|
||||||
19
Dalamud.sln
19
Dalamud.sln
|
|
@ -1,6 +1,6 @@
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 16
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 16.0.31424.327
|
VisualStudioVersion = 17.1.32319.34
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{CEF7D22B-CB85-400E-BD64-349A30E3C097}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{CEF7D22B-CB85-400E-BD64-349A30E3C097}"
|
||||||
ProjectSection(SolutionItems) = preProject
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
|
@ -34,8 +34,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FFXIVClientStructs", "lib\F
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FFXIVClientStructs.Generators", "lib\FFXIVClientStructs\FFXIVClientStructs.Generators\FFXIVClientStructs.Generators.csproj", "{05AB2F46-268B-4915-806F-DDF813E2D59D}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FFXIVClientStructs.Generators", "lib\FFXIVClientStructs\FFXIVClientStructs.Generators\FFXIVClientStructs.Generators.csproj", "{05AB2F46-268B-4915-806F-DDF813E2D59D}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libMinHook", "lib\TsudaKageyu-minhook\build\VC16\libMinHook.vcxproj", "{F142A341-5EE0-442D-A15F-98AE9B48DBAE}"
|
|
||||||
EndProject
|
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
|
@ -188,18 +186,6 @@ Global
|
||||||
{05AB2F46-268B-4915-806F-DDF813E2D59D}.Release|x64.Build.0 = Release|Any CPU
|
{05AB2F46-268B-4915-806F-DDF813E2D59D}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{05AB2F46-268B-4915-806F-DDF813E2D59D}.Release|x86.ActiveCfg = Release|Any CPU
|
{05AB2F46-268B-4915-806F-DDF813E2D59D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{05AB2F46-268B-4915-806F-DDF813E2D59D}.Release|x86.Build.0 = Release|Any CPU
|
{05AB2F46-268B-4915-806F-DDF813E2D59D}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE}.Debug|Any CPU.ActiveCfg = Debug|x64
|
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE}.Debug|Any CPU.Build.0 = Debug|x64
|
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE}.Debug|x86.ActiveCfg = Debug|Win32
|
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE}.Debug|x86.Build.0 = Debug|Win32
|
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE}.Release|Any CPU.ActiveCfg = Release|x64
|
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE}.Release|Any CPU.Build.0 = Release|x64
|
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE}.Release|x64.Build.0 = Release|x64
|
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE}.Release|x86.ActiveCfg = Release|Win32
|
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE}.Release|x86.Build.0 = Release|Win32
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
@ -210,7 +196,6 @@ Global
|
||||||
{2F7FF0A8-B619-4572-86C7-71E46FE22FB8} = {E15BDA6D-E881-4482-94BA-BE5527E917FF}
|
{2F7FF0A8-B619-4572-86C7-71E46FE22FB8} = {E15BDA6D-E881-4482-94BA-BE5527E917FF}
|
||||||
{C9B87BD7-AF49-41C3-91F1-D550ADEB7833} = {E15BDA6D-E881-4482-94BA-BE5527E917FF}
|
{C9B87BD7-AF49-41C3-91F1-D550ADEB7833} = {E15BDA6D-E881-4482-94BA-BE5527E917FF}
|
||||||
{05AB2F46-268B-4915-806F-DDF813E2D59D} = {E15BDA6D-E881-4482-94BA-BE5527E917FF}
|
{05AB2F46-268B-4915-806F-DDF813E2D59D} = {E15BDA6D-E881-4482-94BA-BE5527E917FF}
|
||||||
{F142A341-5EE0-442D-A15F-98AE9B48DBAE} = {E15BDA6D-E881-4482-94BA-BE5527E917FF}
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {79B65AC9-C940-410E-AB61-7EA7E12C7599}
|
SolutionGuid = {79B65AC9-C940-410E-AB61-7EA7E12C7599}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue