myfreeer / 7z-build-nsis

7-zip build and package script with nsis script decompiling using ms visual studio
GNU Lesser General Public License v2.1
226 stars 41 forks source link

build: using VC-LTL5 #19

Closed myfreeer closed 2 years ago

myfreeer commented 2 years ago

Link: https://github.com/Chuyu-Team/VC-LTL5 This should be after #17 and #21 This should not be merged before commit https://github.com/Chuyu-Team/VC-LTL5/commit/fe7d94e0095dd199e14bcf64ac8d0235a69dfb25 reaches a stable release.

MouriNaruto commented 2 years ago

First of all, thank you very much because I have used your branch in NanaZip.

I want to give you some notice about VC-LTL 5.x Series: If you want to enable Windows XP/2003 support for VC-LTL 5.x Series. You will also need YY-Thunks. Because VC-LTL 5.x Series only modify the UCRT part for the smaller toolchain size and support linking with static libraries built without using the VC-LTL toolchain. So the YY-Thunks will be needed for make MSVC part to support Windows XP/2003.

I hope this can give you some help.

Kenji Mouri

myfreeer commented 2 years ago

@MouriNaruto Thank you for reporting this. Is YY-Thunks needed if 7-zip does not use new API introduced in Vista or later?

MouriNaruto commented 2 years ago

@myfreeer

Is YY-Thunks needed if 7-zip does not use new API introduced in Vista or later?

Yes, because the MSVC part (e.g. STL) uses the new API (e.g. SRW lock and new locale API) introduced even in 7 or later.

Kenji Mouri

myfreeer commented 2 years ago

@MouriNaruto

Yes, because the MSVC part (e.g. VCRuntime and STL) uses the new API (e.g. SRW lock and new locale API) introduced even in 7 or later.

Is the MSVC part introduced by VC-LTL5 or windows sdk 10.x or 7-zip?

MouriNaruto commented 2 years ago

@myfreeer

Is the MSVC part introduced by VC-LTL5 or windows sdk 10.x or 7-zip?

Nope, VC-LTL 5.x only wraps the UCRT and VCRuntime (because UCRT have the same part) to msvcrt.dll or ucrtbase.dll. Windows 10 SDK only maintains the UCRT.

I don't know STL or other VCRT part whether or not used in 7-Zip.

I think you can try to compile 7-Zip with VC-LTL 5.x first. If you find some functions lacked, you can use YY-Thunks to solve.

Kenji Mouri

MouriNaruto commented 2 years ago

@myfreeer

Also, you can read https://github.com/Chuyu-Team/VC-LTL5#24-supported-windows-versions.

Kenji Mouri

myfreeer commented 2 years ago

@MouriNaruto Thank you for reporting this.