新增_LTL_XXXXX_module_type系列宏支持,以及运行时支持。

This commit is contained in:
mingkuang
2021-08-20 13:44:02 +08:00
parent 4c1c0a63b8
commit 038966efff
26 changed files with 390 additions and 2177 deletions
+2 -1
View File
@@ -111,7 +111,8 @@
<ZipFileName Condition="'$(TagVersion)' == ''">VC-LTL-Binary.7z</ZipFileName>
<ZipFileName Condition="'$(TagVersion)' != ''">VC-LTL-$(TagVersion)-Binary.7z</ZipFileName>
</PropertyGroup>
<Exec Command="7z.exe a $(ZipFileName) config _msvcrt.h %22VC-LTL helper for Visual Studio.props%22 TargetPlatform Readme.md -xr!*.objs.lib" WorkingDirectory="$(MSBuildThisFileDirectory)"/>
<Delete Files="$(MSBuildThisFileDirectory)$(ZipFileName)"/>
<Exec Command="7z.exe a $(ZipFileName) config _msvcrt.h %22VC-LTL helper for *%22 TargetPlatform Readme.md -xr!*.objs.lib" WorkingDirectory="$(MSBuildThisFileDirectory)"/>
</Target>
<Target Name="_GetProjectAllConfiguration" Returns="@(AllProjectReferenceConfigurations)">
+61
View File
@@ -0,0 +1,61 @@
@echo off
setlocal
set IsTextMode=No
echo VC-LTL Installer [Version 0.1.0]
echo (c) Chuyu Team. All rights reserved.
echo.
if /i "%1"=="" goto TextMode
if /i "%1"=="/?" goto Help
if /i "%1"=="/I" goto Install
if /i "%1"=="/U" goto UnInstall
echo Invaild Command Parameter.
echo.
goto Help
:Install
echo.
echo.Start writing to the registry
echo.[HKCU\Code\VC-LTL]
echo.Root="%~dp0"
echo.
reg ADD HKCU\Code\VC-LTL /v Root /t REG_SZ /d "%~dp0\" /f
echo.
goto ExitScript
:UnInstall
echo.
reg delete HKCU\Code\VC-LTL /f
echo.
goto ExitScript
:Help
echo.Manages VC-LTL information in the current user registry.
echo.
echo.Install [Options]
echo.
echo. /I Add VC-LTL information to the current user registry.
echo. /U Remove VC-LTL information to the current user registry.
echo. /? Show this content.
goto ExitScript
:TextMode
set IsTextMode=Yes
echo.Welcome to use VC-LTL Installer! If you want to invoke this script
echo.silently, please use /? parameter to read help.
reg query HKCU\Code\VC-LTL /v Root >nul 2>nul && goto TextUnInstall || goto Install
:TextUnInstall
echo.
set /p Answer=VC-LTL appears to be installed, do you want to uninstall it (Y/N)?
if /i "%Answer%"=="Y" goto UnInstall
echo.
echo.Operation canceled.
echo.
goto ExitScript
:ExitScript
if /i "%IsTextMode%"=="Yes" pause
@echo on
@@ -0,0 +1,18 @@
#include "..\..\header\VC_LTL_Config.h"
#ifndef _LTL_vcruntime_module_type
#define _LTL_vcruntime_module_type _LTL_vcruntime_module_type_from_ucrtbase
#endif
#ifndef _LTL_ucrt_module_type
#define _LTL_ucrt_module_type _LTL_ucrt_module_type_from_ucrtbase
#endif
#ifndef _LTL_vccorlib_module_type
#define _LTL_vccorlib_module_type _LTL_vccorlib_module_type_form_wincorlib
#endif
#include <..\include\vcruntime.h>
@@ -0,0 +1,18 @@
#include "..\..\header\VC_LTL_Config.h"
#ifndef _LTL_vcruntime_module_type
#define _LTL_vcruntime_module_type _LTL_vcruntime_module_type_from_ucrtbase
#endif
#ifndef _LTL_ucrt_module_type
#define _LTL_ucrt_module_type _LTL_ucrt_module_type_from_ucrtbase
#endif
#ifndef _LTL_vccorlib_module_type
#define _LTL_vccorlib_module_type _LTL_vccorlib_module_type_form_wincorlib
#endif
#include <..\include\vcruntime.h>
@@ -0,0 +1,18 @@
#include "..\..\header\VC_LTL_Config.h"
#ifndef _LTL_vcruntime_module_type
#define _LTL_vcruntime_module_type _LTL_vcruntime_module_type_from_msvcrt
#endif
#ifndef _LTL_ucrt_module_type
#define _LTL_ucrt_module_type _LTL_ucrt_module_type_from_msvcrt
#endif
#ifndef _LTL_vccorlib_module_type
#define _LTL_vccorlib_module_type _LTL_vccorlib_module_type_form_vccorlib140
#endif
#include <..\include\vcruntime.h>
@@ -0,0 +1,18 @@
#include "..\..\header\VC_LTL_Config.h"
#ifndef _LTL_vcruntime_module_type
#define _LTL_vcruntime_module_type _LTL_vcruntime_module_type_from_msvcrt
#endif
#ifndef _LTL_ucrt_module_type
#define _LTL_ucrt_module_type _LTL_ucrt_module_type_from_msvcrt
#endif
#ifndef _LTL_vccorlib_module_type
#define _LTL_vccorlib_module_type _LTL_vccorlib_module_type_form_wincorlib
#endif
#include <..\include\vcruntime.h>
+57
View File
@@ -0,0 +1,57 @@
#pragma once
#ifndef __LTL_Config_Include
#define __LTL_Config_Include
#ifndef _LTL_Core_Version
#define _LTL_Core_Version 5
#endif
#ifndef _Build_By_LTL
#define _Build_By_LTL 1
#endif
//////////////////////////////////////////////////////////////
// vcruntime.lib
//
//from vcruntime140.dll (ms default)
#define _LTL_vcruntime_module_type_from_vcruntime140 0
//from msvcrt.dll
#define _LTL_vcruntime_module_type_from_msvcrt 1
//from ucrtbase.dll
#define _LTL_vcruntime_module_type_from_ucrtbase 2
//
//
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
// urct.lib
//
//form ucrtbase.dll or crt api set (ms default)
#define _LTL_ucrt_module_type_from_ucrtbase 0
//form msvcrt.dll
#define _LTL_ucrt_module_type_from_msvcrt 1
//
//
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
// vccorlib.lib
//
//from vccorlib140.dll (ms default)
#define _LTL_vccorlib_module_type_form_vccorlib140 0
//form wincorlib.dll (support Windows 8.1 and leater)
#define _LTL_vccorlib_module_type_form_wincorlib 1
//
//
//////////////////////////////////////////////////////////////
#endif
+10
View File
@@ -0,0 +1,10 @@
#ifndef __LTL_Version_Include
#define __LTL_Version_Include
#define LTLVersion1 5
#define LTLVersion2 0
#define LTLVersion3 1
#define LTLVersion4 4
#endif
+78
View File
@@ -0,0 +1,78 @@
//
// corecrt.h
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// Declarations used throughout the CoreCRT library.
//
#pragma once
//rename __crt_locale_data_public to __crt_locale_data_public_ucrt
#define __crt_locale_data_public __crt_locale_data_public_ucrt
#include <..\ucrt\corecrt.h>
#undef __crt_locale_data_public
#ifndef _TAGLC_ID_DEFINED
typedef struct tagLC_ID {
unsigned short wLanguage;
unsigned short wCountry;
unsigned short wCodePage;
} LC_ID, * LPLC_ID;
#define _TAGLC_ID_DEFINED
#endif /* _TAGLC_ID_DEFINED */
typedef struct __crt_locale_refcount
{
char* locale;
wchar_t* wlocale;
long* refcount;
long* wrefcount;
} __crt_locale_refcount;
typedef struct __crt_locale_data_public_msvcrt
{
long refcount;
//unsigned int lc_codepage;
unsigned int _locale_lc_codepage;
unsigned int lc_collate_cp;
unsigned long lc_handle[6]; /* LCID */
LC_ID lc_id[6];
__crt_locale_refcount lc_category[6];
int lc_clike;
//int mb_cur_max;
_Field_range_(1, 2) int _locale_mb_cur_max;
long* lconv_intl_refcount;
long* lconv_num_refcount;
long* lconv_mon_refcount;
struct lconv* lconv;
long* ctype1_refcount;
unsigned short* ctype1;
//const unsigned short * pctype;
unsigned short const* _locale_pctype;
unsigned char const* pclmap;
unsigned char const* pcumap;
//struct __lc_time_data * lc_time_curr;
struct __lc_time_data* lc_time_curr;
} __crt_locale_data_public_msvcrt;
#if defined(_LTL_ucrt_module_type) && _LTL_ucrt_module_type == 0
typedef __crt_locale_data_public_ucrt __crt_locale_data_public;
#elif _LTL_ucrt_module_type == 1
typedef __crt_locale_data_public_msvcrt __crt_locale_data_public;
#else
#error _LTL_ucrt_module_type???
#endif
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -300,7 +300,7 @@ _futime64
;_fwrite_nolock
_gcvt
_gcvt_s
;_get_current_locale t
_get_current_locale
;_get_daylight t
_get_doserrno
;_get_dstbias t
@@ -1191,7 +1191,7 @@ ldiv
;llround x
;llroundf x
;llroundl x
;localeconv x Win7开始才导出 _W_decimal_point等成员
localeconv
log
log10
;log1p x
+2 -2
View File
@@ -263,7 +263,7 @@ _futime64
_gcvt
_gcvt_s
;_get_FMA3_enable x
;_get_current_locale x
_get_current_locale
;_get_daylight x
_get_doserrno
;_get_dstbias x
@@ -1156,7 +1156,7 @@ ldiv
;llround x
;llroundf x
;llroundl x
;localeconv x Win7的结构体才完整
localeconv
log
log10
log10f
+2 -6
View File
@@ -10,7 +10,6 @@ VC-LTL自动化加载配置,建议你将此文件单独复制到你的工程
使用方法:
1. 在属性管理器选择所有Release配置,然后右键选择“添加现有属性表”。
2. 务必保证所有依赖的静态库也均用VC-LTL重新编译。
VC-LTL默认搜索顺序
@@ -29,11 +28,8 @@ VC-LTL默认搜索顺序
<!--#####################################################################VC-LTL设置#####################################################################-->
<PropertyGroup>
<!--取消下方注释可以开启VC-LTL轻量模式,轻量模式更加注重体积控制,但是CRT规范将会维持在VS2008。如果你需要高度兼容微软UCRT,那么请不要打开此选项!!!-->
<!--<DisableAdvancedSupport>true</DisableAdvancedSupport>-->
<!--取消下方注释可以开启强制XP兼容模式,默认情况下仅在选择WinXP工具集时才开启。-->
<!--<SupportWinXP>true</SupportWinXP>-->
<!--控制TargetPlatform版本,目前可用版本为 6.0.6000.0(默认) 6.2.9200.0 10.0.10240.0 10.0.19041.0-->
<!--<WindowsTargetPlatformMinVersion>10.0.10240.0</WindowsTargetPlatformMinVersion>-->
</PropertyGroup>
<!--####################################################################################################################################################-->
+40 -35
View File
@@ -19,33 +19,33 @@
</PropertyGroup>
<PropertyGroup>
<VCLTLTargetUniversalCRTBuildVersion></VCLTLTargetUniversalCRTBuildVersion>
<VCLTLTargetUniversalCRTBuildVersion Condition=" '$(WindowsTargetPlatformMinVersion)'!=''">$([System.Version]::Parse('$(WindowsTargetPlatformMinVersion)').Build)</VCLTLTargetUniversalCRTBuildVersion>
<VCLTLTargetUniversalCRTBuildVersion Condition=" '$(VCLTLTargetUniversalCRTBuildVersion)'=='' and '$(SupportLTL)'=='ucrt'">10240</VCLTLTargetUniversalCRTBuildVersion>
<VCLTLTargetUniversalCRTBuildVersion Condition=" '$(VCLTLTargetUniversalCRTBuildVersion)'==''">6000</VCLTLTargetUniversalCRTBuildVersion>
<LTLWindowsTargetPlatformMinVersionBuild></LTLWindowsTargetPlatformMinVersionBuild>
<LTLWindowsTargetPlatformMinVersionBuild Condition=" '$(WindowsTargetPlatformMinVersion)'!=''">$([System.Version]::Parse('$(WindowsTargetPlatformMinVersion)').Build)</LTLWindowsTargetPlatformMinVersionBuild>
<LTLWindowsTargetPlatformMinVersionBuild Condition=" '$(LTLWindowsTargetPlatformMinVersionBuild)'=='' and '$(SupportLTL)'=='ucrt'">10240</LTLWindowsTargetPlatformMinVersionBuild>
<LTLWindowsTargetPlatformMinVersionBuild Condition=" '$(LTLWindowsTargetPlatformMinVersionBuild)'==''">6000</LTLWindowsTargetPlatformMinVersionBuild>
</PropertyGroup>
<!--搜索最适合的UCRT版本-->
<Choose>
<When Condition="'$(VCLTLTargetUniversalCRTBuildVersion)' >= '19041'">
<When Condition="'$(LTLWindowsTargetPlatformMinVersionBuild)' >= '19041'">
<PropertyGroup>
<VCLTLTargetUniversalCRTVersion>10.0.19041.0</VCLTLTargetUniversalCRTVersion>
<LTLWindowsTargetPlatformMinVersion>10.0.19041.0</LTLWindowsTargetPlatformMinVersion>
</PropertyGroup>
</When>
<When Condition="'$(PlatformShortName)'=='arm64' or '$(VCLTLTargetUniversalCRTBuildVersion)' >= '10240'">
<When Condition="'$(PlatformShortName)'=='arm64' or '$(LTLWindowsTargetPlatformMinVersionBuild)' >= '10240'">
<PropertyGroup>
<VCLTLTargetUniversalCRTVersion>10.0.10240.0</VCLTLTargetUniversalCRTVersion>
<LTLWindowsTargetPlatformMinVersion>10.0.10240.0</LTLWindowsTargetPlatformMinVersion>
</PropertyGroup>
</When>
<When Condition="'$(PlatformShortName)'=='arm' or '$(VCLTLTargetUniversalCRTBuildVersion)' >= '9200'">
<When Condition="'$(PlatformShortName)'=='arm' or '$(LTLWindowsTargetPlatformMinVersionBuild)' >= '9200'">
<PropertyGroup>
<VCLTLTargetUniversalCRTVersion>6.2.9200.0</VCLTLTargetUniversalCRTVersion>
<LTLWindowsTargetPlatformMinVersion>6.2.9200.0</LTLWindowsTargetPlatformMinVersion>
</PropertyGroup>
</When>
<Otherwise>
<!--其他情况,统一为6.0.6000.0-->
<PropertyGroup>
<VCLTLTargetUniversalCRTVersion>6.0.6000.0</VCLTLTargetUniversalCRTVersion>
<LTLWindowsTargetPlatformMinVersion>6.0.6000.0</LTLWindowsTargetPlatformMinVersion>
</PropertyGroup>
</Otherwise>
</Choose>
@@ -74,7 +74,7 @@
<VCLTLSupportPlatformToolset Condition="('$(VCLTLSupportPlatformToolsetWinXP)'=='true') Or ('$(VCLTLSupportPlatformToolsetNormal)'=='true')">true</VCLTLSupportPlatformToolset>
<!--VC-LTL仅支持x86、x64、arm、arm64-->
<VCLTLSupportPlatform Condition="('$(PlatformShortName)'=='x86') Or ('$(PlatformShortName)'=='x64') Or ('$(PlatformShortName)'=='arm') Or ('$(PlatformShortName)'=='arm64')">true</VCLTLSupportPlatform>
<VCLTLSupportPlatform Condition="('$(Platform)'=='Win32') Or ('$(Platform)'=='x64') Or ('$(Platform)'=='arm') Or ('$(Platform)'=='arm64')">true</VCLTLSupportPlatform>
<!--检测是否是Debug编译-->
<VCLTLUseDebugLibraries Condition="('$(UseDebugLibraries)'=='true') Or ('$(Configuration)'=='Debug')">true</VCLTLUseDebugLibraries>
@@ -88,28 +88,34 @@
<LTL_Mode Condition=" '$(DisableAdvancedSupport)'!='true' ">Advanced</LTL_Mode>
<SupportLTL Condition="('$(SupportLTL)'!='false') And (('$(DriverTargetPlatform)'=='Universal') Or ('$(VCLTLSupportPlatformToolset)' != 'true') Or ('$(VCLTLUseDebugLibraries)'=='true'))">false</SupportLTL>
<SupportLTL Condition="('$(SupportLTL)'=='') And ('$(VCLTLSupportPlatform)'=='true')">ucrt</SupportLTL>
<SupportLTL Condition="('$(SupportLTL)'=='') And ('$(VCLTLSupportPlatform)'=='true')">true</SupportLTL>
<SupportWinXP Condition=" ('$(SupportWinXP)'=='') And ('$(VCLTLSupportPlatformToolsetWinXP)'=='true')">true</SupportWinXP>
<!--arm、arm64必定不用支持XP-->
<SupportWinXP Condition=" ('$(PlatformShortName)'=='arm') Or ('$(PlatformShortName)'=='arm64')">false</SupportWinXP>
<SupportWinXP Condition=" ('$(Platform)'=='arm') Or ('$(Platform)'=='arm64')">false</SupportWinXP>
<VCLTLPlatformName Condition=" '$(SupportWinXP)'=='true' ">WinXP</VCLTLPlatformName>
<VCLTLPlatformName Condition=" '$(SupportWinXP)'!='true' ">Vista</VCLTLPlatformName>
<VC_LTL_Library>$(VC_LTL_Root)TargetPlatform\$(VCLTLTargetUniversalCRTVersion)\lib\$(Platform);$(IntDir)VC-LTL5.tmp\$(VCLTLTargetUniversalCRTVersion)\$(Platform)</VC_LTL_Library>
<VC_LTL_Include>$(VC_LTL_Root)TargetPlatform\header;$(VC_LTL_Root)TargetPlatform\$(LTLWindowsTargetPlatformMinVersion)\header</VC_LTL_Include>
<VC_LTL_Library>$(VC_LTL_Root)TargetPlatform\$(LTLWindowsTargetPlatformMinVersion)\lib\$(Platform);$(IntDir)VC-LTL5.tmp\$(LTLWindowsTargetPlatformMinVersion)\$(Platform)</VC_LTL_Library>
</PropertyGroup>
<PropertyGroup Condition=" '$(SupportLTL)'=='true' or '$(SupportLTL)'=='ucrt'">
<IncludePath>$(VC_LTL_Include);$(IncludePath)</IncludePath>
<LibraryPath>$(VC_LTL_Library);$(LibraryPath)</LibraryPath>
<!--可选,仅仅是为了增强对某些奇葩工程的兼容性。-->
<VC_IncludePath Condition=" '$(VC_IncludePath)'!='' ">$(VC_LTL_Include);$(VC_IncludePath)</VC_IncludePath>
<!--VS2019 16.10新增,VS会优先使用此路径-->
<ExternalIncludePath>$(VC_LTL_Include);$(ExternalIncludePath)</ExternalIncludePath>
<VC_LibraryPath_x86 Condition=" '$(VC_LibraryPath_x86)'!='' ">$(VC_LTL_Library);$(VC_LibraryPath_x86)</VC_LibraryPath_x86>
<VC_LibraryPath_x64 Condition=" '$(VC_LibraryPath_x64)'!='' ">$(VC_LTL_Library);$(VC_LibraryPath_x64)</VC_LibraryPath_x64>
</PropertyGroup>
<ItemDefinitionGroup Condition=" '$(SupportLTL)'=='ucrt' or '$(SupportLTL)'=='true'">
<ClCompile>
<!--其实这些宏都不是必须的 vcruntime.h 中会自动加入这些-->
<PreprocessorDefinitions>_Build_By_LTL=1;_LTL_Core_Version=$(LTL_CoreVersion);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(SupportWinXP)'=='true'">_ATL_XP_TARGETING=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<!--当兼容XP时,对于非 exe 的需要禁用线程安全初始化。避免XP中在DllMain中使用TLS而崩溃-->
<AdditionalOptions Condition="'$(SupportWinXP)'=='true' and '$(ConfigurationType)'!='Application' ">/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions>
@@ -123,8 +129,8 @@
<src_vc_vccorlib_path Condition="'$(src_vc_vccorlib_path)' == '' and '$(VCToolsInstallDir)' != ''">$(VCToolsInstallDir)lib\$(PlatformShortName)\vccorlib.lib</src_vc_vccorlib_path>
<src_vc_vccorlib_path Condition="'$(src_vc_vccorlib_path)' == '' and '$(VCInstallDir)' != '' and '$(Platform)' == 'Win32'">$(VCInstallDir)lib\vccorlib.lib</src_vc_vccorlib_path>
<src_vc_vccorlib_path Condition="'$(src_vc_vccorlib_path)' == '' and '$(VCInstallDir)' != ''">$(VCInstallDir)lib\$(PlatformShortName)\vccorlib.lib</src_vc_vccorlib_path>
<patch_vc_vccorlib_path>$(VC_LTL_Root)TargetPlatform\$(VCLTLTargetUniversalCRTVersion)\lib\$(Platform)\vccorlib140.pacth.lib</patch_vc_vccorlib_path>
<dst_vc_vccorlib_path>$(IntDir)VC-LTL5.tmp\$(VCLTLTargetUniversalCRTVersion)\$(Platform)\vccorlib.lib</dst_vc_vccorlib_path>
<patch_vc_vccorlib_path>$(VC_LTL_Root)TargetPlatform\$(LTLWindowsTargetPlatformMinVersion)\lib\$(Platform)\vccorlib140.pacth.lib</patch_vc_vccorlib_path>
<dst_vc_vccorlib_path>$(IntDir)VC-LTL5.tmp\$(LTLWindowsTargetPlatformMinVersion)\$(Platform)\vccorlib.lib</dst_vc_vccorlib_path>
</PropertyGroup>
<ItemGroup>
@@ -137,21 +143,20 @@
<Target Name="VC_LTL_PlatformPrepareForBuild_Config" BeforeTargets="PrepareForBuild">
<Message Text="
***************************************************************************************************
* *
* * * * * * * * * * * * *
* * * * * * * *
* * * * * * * * * * * * *
* * * * * * * *
* * * * * * * * * * * * * *
* *
***************************************************************************************************
###################################################################################################
# #
# * * * * * * * * * * * #
# * * * * * * #
# * * * * * * * * * * * #
# * * * * * * #
# * * * * * * * * * * * * #
# #
###################################################################################################
VC-LTL Path : $([MSBuild]::NormalizePath('$(MSBuildThisFileDirectory)..\'))
VC Tools Version : $(VCLTLToolsVersion)
Target CRT Version : $(VCLTLTargetUniversalCRTVersion)
Platform : $(PlatformShortName)
Using VC-LTL $(VCLTLPlatformName) $(LTL_Mode) Mode
VC-LTL Path : $(VC_LTL_Root)
VC Tools Version : $(VCToolsVersion)
WindowsTargetPlatformMinVersion : $(LTLWindowsTargetPlatformMinVersion)
Platform : $(Platform)
" Importance="high" Condition="('$(SupportLTL)'=='true') Or ('$(SupportLTL)'=='ucrt')"/>
<Warning Code="LTL2000" Text="$(ERROR_VC_LTL_NOT_SUPPORT_DEBUG)" Condition="'$(UseDebugLibraries)'=='true'" />
<!--
@@ -167,7 +172,7 @@
<Warning Code="LTL3002" Text="$(ERROR_VC_LTL_NOT_SUPPORT_WINXP_IN_UCRT_MODE)" Condition=" ('$(SupportLTL)'=='ucrt') And ('$(SupportWinXP)'=='true')"/>
<Warning Code="LTL3003" Text="$(ERROR_VC_LTL_NOT_SUPPORT_MITIGATION)" Condition=" ('$(SupportLTL)'=='true') And ('$(VCLTLLibDirMod)'!='$(VCLibDirMod)')"/>
-->
<Error Code="LTL4000" Text="$(ERROR_VC_LTL_FILE_MISSING)" Condition=" ('$(SupportLTL)'=='true' and '$(SupportLTL)'=='ucrt') And (!(Exists('$(VC_LTL_Root)ucrt\$(VCLTLTargetUniversalCRTVersion)\lib\$(Platform)')))"/>
<Error Code="LTL4000" Text="$(ERROR_VC_LTL_FILE_MISSING)" Condition=" ('$(SupportLTL)'=='true' and '$(SupportLTL)'=='ucrt') And (!(Exists('$(VC_LTL_Root)TargetPlatform\$(LTLWindowsTargetPlatformMinVersion)\lib\$(Platform)')))"/>
</Target>
<Target Name="Build_vccorlib_lib" AfterTargets="BeforeLink" BeforeTargets="Link" Condition="('$(SupportLTL)'=='true' Or ('$(SupportLTL)'=='ucrt')) and '$(src_vc_vccorlib_path)'!= '' and Exists('$(src_vc_vccorlib_path)') and Exists('$(patch_vc_vccorlib_path)')"
Inputs="$(src_vc_vccorlib_path);$(patch_vc_vccorlib_path)"
+3
View File
@@ -0,0 +1,3 @@
#include <VC_LTL_Config.h>
int __LTL_ucrt_module_type = _LTL_ucrt_module_type_from_msvcrt;
+9 -6
View File
@@ -133,7 +133,7 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Dynamic|Win32'">
<LinkIncremental>false</LinkIncremental>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\msvcrt\include\$(WindowsTargetPlatformVersion)\ucrt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<TargetName>ucrt</TargetName>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
@@ -142,14 +142,14 @@
<TargetName>ucrt</TargetName>
<LinkIncremental>false</LinkIncremental>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\msvcrt\include\$(WindowsTargetPlatformVersion)\ucrt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
<LinkIncremental>false</LinkIncremental>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\msvcrt\include\$(WindowsTargetPlatformVersion)\ucrt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<TargetName>libucrt</TargetName>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
@@ -158,14 +158,14 @@
<TargetName>libucrt</TargetName>
<LinkIncremental>false</LinkIncremental>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\msvcrt\include\$(WindowsTargetPlatformVersion)\ucrt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Dynamic|x64'">
<LinkIncremental>false</LinkIncremental>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\msvcrt\include\$(WindowsTargetPlatformVersion)\ucrt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<TargetName>ucrt</TargetName>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
@@ -173,7 +173,7 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
<LinkIncremental>false</LinkIncremental>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\msvcrt\include\$(WindowsTargetPlatformVersion)\ucrt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<TargetName>libucrt</TargetName>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
@@ -420,6 +420,9 @@
<ClCompile Include="terminate.cpp" />
<ClCompile Include="timeset.cpp" />
<ClCompile Include="ucrt_IAT.cpp" />
<ClCompile Include="VC_LTL_Config.c">
<ForcedIncludeFiles></ForcedIncludeFiles>
</ClCompile>
<ClCompile Include="wcsftime.cpp" />
<ClCompile Include="_file.cpp" />
</ItemGroup>
@@ -228,6 +228,9 @@
<ClCompile Include="..\Sources\ucrt\misc\systime.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="VC_LTL_Config.c">
<Filter>源文件\ltl\objs</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="msvcrt_loadhelper.h">
+3
View File
@@ -0,0 +1,3 @@
#include <VC_LTL_Config.h>
int __LTL_vccorlib_module_type = _LTL_vccorlib_module_type_form_wincorlib;
@@ -98,13 +98,13 @@
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<TargetName>vccorlib140.pacth</TargetName>
<IncludePath>$(ProjectDir);$(SolutionDir)Sources\crt;$(IncludePath)</IncludePath>
<IncludePath>$(ProjectDir);$(SolutionDir)Sources\crt;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Dynamic|ARM'">
<TargetName>vccorlib140.pacth</TargetName>
<IncludePath>$(ProjectDir);$(SolutionDir)Sources\crt;$(IncludePath)</IncludePath>
<IncludePath>$(ProjectDir);$(SolutionDir)Sources\crt;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
@@ -114,13 +114,13 @@
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<TargetName>vccorlib140.pacth</TargetName>
<IncludePath>$(ProjectDir);$(SolutionDir)Sources\crt;$(IncludePath)</IncludePath>
<IncludePath>$(ProjectDir);$(SolutionDir)Sources\crt;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Dynamic|ARM64'">
<TargetName>vccorlib140.pacth</TargetName>
<IncludePath>$(ProjectDir);$(SolutionDir)Sources\crt;$(IncludePath)</IncludePath>
<IncludePath>$(ProjectDir);$(SolutionDir)Sources\crt;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<LinkIncremental>false</LinkIncremental>
@@ -268,6 +268,10 @@
<ClCompile Include="vccorlib.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="VC_LTL_Config.c">
<ForcedIncludeFiles></ForcedIncludeFiles>
<CompileAsWinRT>false</CompileAsWinRT>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
@@ -278,7 +282,6 @@
<MakeDir Directories="$(IntDir)objs\weak" />
<Exec Command="%22$(SolutionDir)Tools\LibMaker.exe%22 CreateWeaks /MACHINE:$(PlatformShortName) /def:%22$(SolutionDir)Tools\$(WindowsTargetPlatformMinVersion)\$(Platform)\vccorlib.wincorlib.weak.def%22 /out:%22$(IntDir)objs\weak%22" Condition="Exists('$(SolutionDir)Tools\$(WindowsTargetPlatformMinVersion)\$(Platform)\vccorlib.wincorlib.weak.def')" />
<Exec Command="lib %22$(IntDir)vccorlib.wincorlib.lib%22 %22$(IntDir)objs\weak\*%22" Condition="Exists('$(SolutionDir)Tools\$(WindowsTargetPlatformMinVersion)\$(Platform)\vccorlib.wincorlib.weak.def')" />
<Copy Condition="'@(Obj)' ==''" SourceFiles="$(IntDir)vccorlib.wincorlib.lib" DestinationFiles="$(OutDir)$(TargetName)$(TargetExt)"/>
<Copy Condition="'@(Obj)' ==''" SourceFiles="$(IntDir)vccorlib.wincorlib.lib" DestinationFiles="$(OutDir)$(TargetName)$(TargetExt)" />
</Target>
</Project>
@@ -44,5 +44,8 @@
<ClCompile Include="vccorlib.cpp">
<Filter>源文件\x86</Filter>
</ClCompile>
<ClCompile Include="VC_LTL_Config.c">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
</Project>
+3
View File
@@ -0,0 +1,3 @@
#include <VC_LTL_Config.h>
int __LTL_vcruntime_module_type = _LTL_vcruntime_module_type_from_msvcrt;
+10 -7
View File
@@ -133,14 +133,14 @@
<TargetName>libvcruntime</TargetName>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\msvcrt\include\$(WindowsTargetPlatformVersion)\ucrt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|ARM'">
<LinkIncremental>false</LinkIncremental>
<TargetName>libvcruntime</TargetName>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\msvcrt\include\$(WindowsTargetPlatformVersion)\ucrt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
</PropertyGroup>
@@ -149,14 +149,14 @@
<TargetName>vcruntime</TargetName>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\msvcrt\include\$(WindowsTargetPlatformVersion)\ucrt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Dynamic|ARM'">
<LinkIncremental>false</LinkIncremental>
<TargetName>vcruntime</TargetName>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\msvcrt\include\$(WindowsTargetPlatformVersion)\ucrt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
</PropertyGroup>
@@ -165,7 +165,7 @@
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<TargetName>libvcruntime</TargetName>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\msvcrt\include\$(WindowsTargetPlatformVersion)\ucrt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Dynamic|x64'">
@@ -173,7 +173,7 @@
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<TargetName>vcruntime</TargetName>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\msvcrt\include\$(WindowsTargetPlatformVersion)\ucrt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt;$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\ucrt;$(SolutionDir)Sources\ucrt\inc;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<AllProjectIncludesArePublic>true</AllProjectIncludesArePublic>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
@@ -387,6 +387,9 @@
<ExcludedFromBuild Condition="'$(Platform)' != 'Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="vcruntime_IAT.cpp" />
<ClCompile Include="VC_LTL_Config.c">
<ForcedIncludeFiles></ForcedIncludeFiles>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
@@ -408,7 +411,7 @@
<Target Name="Build_vcruntime_msvcrt_base" AfterTargets="_ClCompile" Inputs="$(SolutionDir)Tools\$(WindowsTargetPlatformMinVersion)\$(Platform)\vcruntime.msvcrt.def;$(SolutionDir)Tools\$(WindowsTargetPlatformMinVersion)\$(Platform)\vcruntime.msvcrt.weak.def" Outputs="$(IntDir)vcruntime.msvcrt.lib">
<Exec Command="lib /def:%22$(SolutionDir)Tools\$(WindowsTargetPlatformMinVersion)\$(Platform)\vcruntime.msvcrt.def%22 /out:%22$(IntDir)vcruntime.msvcrt.lib%22 /MACHINE:$(PlatformShortName)" />
<!--复制lib属性,Win32下面 __seh_longjmp_unwind@4 这类接口需要标记导出类型-->
<Exec Command="%22$(SolutionDir)Tools\LibMaker.exe%22 CopyLibType %22$(IntDir)vcruntime.msvcrt.lib%22 %22$(VCToolsInstallDir)lib\$(PlatformShortName)\vcruntime.lib%22"/>
<Exec Command="%22$(SolutionDir)Tools\LibMaker.exe%22 CopyLibType %22$(IntDir)vcruntime.msvcrt.lib%22 %22$(VCToolsInstallDir)lib\$(PlatformShortName)\vcruntime.lib%22" />
<RemoveDir Directories="$(IntDir)objs\weak" />
<MakeDir Directories="$(IntDir)objs\weak" />
<Exec Command="%22$(SolutionDir)Tools\LibMaker.exe%22 CreateWeaks /MACHINE:$(PlatformShortName) /def:%22$(SolutionDir)Tools\$(WindowsTargetPlatformMinVersion)\$(Platform)\vcruntime.msvcrt.weak.def%22 /out:%22$(IntDir)objs\weak%22" />
@@ -83,5 +83,8 @@
<ClCompile Include="vcruntime_IAT.cpp">
<Filter>源文件\ltl</Filter>
</ClCompile>
<ClCompile Include="VC_LTL_Config.c">
<Filter>源文件\ltl</Filter>
</ClCompile>
</ItemGroup>
</Project>
+4
View File
@@ -0,0 +1,4 @@
#include <VC_LTL_Config.h>
int __LTL_vcruntime_module_type = _LTL_vcruntime_module_type_from_ucrtbase;
+11 -8
View File
@@ -179,13 +179,13 @@
<TargetName>libvcruntime</TargetName>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|ARM'">
<LinkIncremental>false</LinkIncremental>
<TargetName>libvcruntime</TargetName>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Dynamic|Win32'">
@@ -193,13 +193,13 @@
<TargetName>vcruntime</TargetName>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Dynamic|ARM'">
<LinkIncremental>false</LinkIncremental>
<TargetName>vcruntime</TargetName>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
@@ -207,28 +207,28 @@
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<TargetName>libvcruntime</TargetName>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|ARM64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<TargetName>libvcruntime</TargetName>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Dynamic|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<TargetName>vcruntime</TargetName>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Dynamic|ARM64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\lib\$(Platform)\</OutDir>
<TargetName>vcruntime</TargetName>
<IntDir>$(Platform)\$(Configuration)\$(WindowsTargetPlatformMinVersion)\</IntDir>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(IncludePath)</IncludePath>
<IncludePath>$(SolutionDir)Sources\crt\vcruntime;$(SolutionDir)Sources\crt;$(SolutionDir)TargetPlatform\header;$(SolutionDir)TargetPlatform\$(WindowsTargetPlatformMinVersion)\header;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
<ClCompile>
@@ -452,6 +452,9 @@
<ClCompile Include="..\Sources\crt\vcruntime\winapi_thunks.cpp">
<ExcludedFromBuild Condition="'$(Platform)' != 'Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="VC_LTL_Config.c">
<ForcedIncludeFiles></ForcedIncludeFiles>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
@@ -56,5 +56,8 @@
<ClCompile Include="..\Sources\crt\vcruntime\chandler_noexcept.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="VC_LTL_Config.c">
<Filter>源文件\ltl</Filter>
</ClCompile>
</ItemGroup>
</Project>