在Windows上构建CMake zlib

pxyaymoc  于 2022-11-11  发布在  Windows
关注(0)|答案(3)|浏览(184)

我正在尝试使用CMake构建zlib 1.2.8 for Windows,但是我遇到了构建错误,我不知道如何修复。

生成时没有错误,但在生成结果解决方案时,出现以下错误:
2〉------生成已开始:项目:zlib,配置:发布x64 -----
2〉正在创建库C:/用户/erik/文档/zlib/1.2.8/项目/zlib-1.2.8-vc 10/版本/zlib.lib和对象C:/用户/erik/文档/zlib/1.2.8/项目/zlib-1.2.8-vc 10/版本/zlib.exp
2〉充气对象:错误LNK 2019:函数inflate中引用了无法解析的外部符号inflate_fast
2〉反向对象:错误LNK 2001:无法解析的外部符号inflate_fast
2〉C:\用户\erik\文档\项目\版本\文件库. dll:致命错误LNK 1120:1个未解决的外部问题
我不知道该怎么办,所以我很感激你的帮助。

k2arahey

k2arahey1#

根据https://wiki.apache.org/httpd/Win64Compilation,一个非常类似的错误意味着:
这意味着-DASMV -DASMINF或OBJ=“inffasx64.obj gvmat64.obj inffas8664.obj”中存在排印错误,因为inflate_fast在inffas8664.c中定义。
我能够成功地构建一个简单的:

mkdir C:\Builds\zlib; cd C:\Builds\zlib
cmake -G "Visual Studio 12 2013" -A x64 D:\Downloads\zlib-1.2.8\
cmake --build .

我查看了我的cmake缓存,我发现AMD 64被设置为false,这与cmake-gui窗口显示的不同。将其设置为true会导致各种构建错误,尽管不是您显示的那些。
CMakeLists.txt说明此选项用于启用AMD 64汇编实现。不使用此选项似乎是最简单的解决方案。

0kjbasz6

0kjbasz62#

Visual Studio项目文件中需要包含contrib\masmx64\infas8664.c此文件包含inflate_fast函数,该函数调用相应asm函数

esyap4oy

esyap4oy3#

重要说明

contrib/masmx目录早在2017年就被删除了*(在回答时,我正在处理包含它们的 v1.2.11*.zip* 文件),因此以下所有内容不再适用OOTB)。

但是它们的引用没有被删除(至少没有从所有地方删除),所以如果它们被启用(从 CMake),构建将失败
但是,我提交了**[GitHub]: madler/zlib - Re enable ASM speedups on Win221007 被拒绝),因此以下内容**(再次)适用**。
有关从补丁程序中获益的可能方法(一次/如果接受),请检查[SO]: How to change username of job in print queue using python & win32print (@CristiFati's answer)(在最后)。
将上述补丁应用于(当前)master 分支:

  • 专为以下目的而设计:
    • 064位 * / * 032位 *
    • 发布 * / * 调试 *
  • 有/无 ASM 加速
  • 运行 minigzip.exe(链接到 zlib(d).dll):
  • 在二进制/文本文件上
  • 方法:充盈/回缩
  • 级别:1、5、9

使用以下脚本检查所有配置、运行和汇总结果。

  • 代码00.py *:

# !/usr/bin/env python

import hashlib as hl
import os
import shutil
import subprocess as sp
import sys
import time
from pprint import pprint as pp

ARCHS = (
    "pc064",
    "pc032",
)

def print_file_data(file, level=0):
    st = os.stat(file)
    header = "  " * level
    print("{:s}File: {:s}\n{:s}  Size: {:d}, CTime: {:s}".format(header, file, header, st.st_size, time.ctime(st.st_ctime)))

def main(*argv):
    verbose = False
    build_dir = os.getcwd() #os.path.dirname(os.path.abspath(__file__))
    if argv:
        file = argv[0]
        if "-v" in argv:
            verbose = True
    else:
        file = "file.onnx"
        #file = "bigfile.txt"
        #file = "enwik8"
    file_test = file + ".test"
    file_gz = file_test + ".gz"
    shutil.copy(file, file_test)
    md5_src = hl.md5(open(file_test, mode="rb").read()).hexdigest()
    print_file_data(file_test)
    data = {}
    for arch in ARCHS:
        if verbose:
            print("Arch: {:s}".format(arch))
        ad = {}
        for typ in ("plain", "masm"):
            if verbose:
                print("  Type: {:s}".format(typ))
            mg = os.path.join(build_dir, "_build", arch, typ, "minigzip.exe")
            for level in (1, 5, 9):
                shutil.copy(file, file_test)
                if verbose:
                    print("\n    Compress (level {:d})".format(level))
                proc = sp.Popen([mg, "-{:d}".format(level), file_test])
                time_start = time.time()
                proc.communicate()
                elapsed = time.time() - time_start
                if verbose:
                    print("    Took {:.3f} seconds".format(elapsed))
                ad.setdefault("level {:d}".format(level), {}).setdefault("inflate", {})[typ] = elapsed
                if verbose:
                    print_file_data(file_gz, level=2)
                if verbose:
                    print("    Decompress")
                proc = sp.Popen([mg, "-d", file_gz])
                time_start = time.time()
                proc.communicate()
                elapsed = time.time() - time_start
                if verbose:
                    print("    Took {:.3f} seconds".format(elapsed))
                ad.setdefault("level {:d}".format(level), {}).setdefault("deflate", {})[typ] = elapsed
                if verbose:
                    print_file_data(file_test, level=2)
                if hl.md5(open(file_test, mode="rb").read()).hexdigest() != md5_src:
                    print("!!! File hashes differ !!!")
        data[arch] = ad
    pp(data, indent=2, sort_dicts=False)

if __name__ == "__main__":
    print("Python {:s} {:03d}bit on {:s}\n".format(" ".join(elem.strip() for elem in sys.version.split("\n")),
                                                   64 if sys.maxsize > 0x100000000 else 32, sys.platform))
    rc = main(*sys.argv[1:])
    print("\nDone.")
    sys.exit(rc)

输出

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q029505121]> "e:\Work\Dev\VEnvs\py_pc064_03.09_test0\Scripts\python.exe" ./code00.py file.onnx
Python 3.9.9 (tags/v3.9.'level 9':ccb0e6a, Nov 15 2021, 18:08:50) [MSC v.1929 64 bit (AMD64)] 064bit on win32

File: file.onnx.test
  Size: 255890833, CTime: Sat Sep  3 02:03:05 2022
{ 'pc064': { 'level 1': { 'inflate': { 'plain': 12.552296161651611,
                                       'masm': 11.09960412979126},
                          'deflate': { 'plain': 1.802419900894165,
                                       'masm': 1.8380048274993896}},
             'level 5': { 'inflate': { 'plain': 13.694978713989258,
                                       'masm': 12.098156213760376},
                          'deflate': { 'plain': 1.756164312362671,
                                       'masm': 1.7628483772277832}},
             'level 9': { 'inflate': { 'plain': 13.969024419784546,
                                       'masm': 12.125015497207642},
                          'deflate': { 'plain': 1.7450010776519775,
                                       'masm': 1.756005048751831}}},
  'pc032': { 'level 1': { 'inflate': { 'plain': 13.748999118804932,
                                       'masm': 11.81002926826477},
                          'deflate': { 'plain': 1.9236936569213867,
                                       'masm': 2.3493638038635254}},
             'level 5': { 'inflate': { 'plain': 15.036035299301147,
                                       'masm': 12.898797512054443},
                          'deflate': { 'plain': 1.8580067157745361,
                                       'masm': 2.282176971435547}},
             'level 9': { 'inflate': { 'plain': 15.134005308151245,
                                       'masm': 12.89007306098938},
                          'deflate': { 'plain': 1.8709957599639893,
                                       'masm': 2.2773334980010986}}}}

Done.

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q029505121]> "e:\Work\Dev\VEnvs\py_pc064_03.09_test0\Scripts\python.exe" ./code00.py enwik8.txt
Python 3.9.9 (tags/v3.9.'level 9':ccb0e6a, Nov 15 2021, 18:08:50) [MSC v.1929 64 bit (AMD64)] 064bit on win32

File: enwik8.txt.test
  Size: 100000000, CTime: Tue Sep  6 00:33:20 2022
{ 'pc064': { 'level 1': { 'inflate': { 'plain': 1.9976372718811035,
                                       'masm': 1.9259986877441406},
                          'deflate': { 'plain': 0.7285704612731934,
                                       'masm': 0.7076430320739746}},
             'level 5': { 'inflate': { 'plain': 4.5627357959747314,
                                       'masm': 4.003000020980835},
                          'deflate': { 'plain': 0.6933917999267578,
                                       'masm': 0.6450159549713135}},
             'level 9': { 'inflate': { 'plain': 8.079626083374023,
                                       'masm': 6.618978977203369},
                          'deflate': { 'plain': 0.7049713134765625,
                                       'masm': 0.6319396495819092}}},
  'pc032': { 'level 1': { 'inflate': { 'plain': 2.1649997234344482,
                                       'masm': 2.1139981746673584},
                          'deflate': { 'plain': 0.7583539485931396,
                                       'masm': 0.8125534057617188}},
             'level 5': { 'inflate': { 'plain': 5.03799843788147,
                                       'masm': 4.2109808921813965},
                          'deflate': { 'plain': 0.8489999771118164,
                                       'masm': 0.6870477199554443}},
             'level 9': { 'inflate': { 'plain': 7.9073097705841064,
                                       'masm': 7.512087821960449},
                          'deflate': { 'plain': 0.7378275394439697,
                                       'masm': 0.7450006008148193}}}}

Done.

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q029505121]> cd dbg

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q029505121\dbg]> "e:\Work\Dev\VEnvs\py_pc064_03.09_test0\Scripts\python.exe" ../code00.py ../file.onnx
Python 3.9.9 (tags/v3.9.'level 9':ccb0e6a, Nov 15 2021, 18:08:50) [MSC v.1929 64 bit (AMD64)] 064bit on win32

File: ../file.onnx.test
  Size: 255890833, CTime: Tue Sep  6 00:37:51 2022
{ 'pc064': { 'level 1': { 'inflate': { 'plain': 25.337001085281372,
                                       'masm': 22.544013023376465},
                          'deflate': { 'plain': 3.915001153945923,
                                       'masm': 2.3709957599639893}},
             'level 5': { 'inflate': { 'plain': 28.28699827194214,
                                       'masm': 24.88018822669983},
                          'deflate': { 'plain': 3.846531867980957,
                                       'masm': 2.2239699363708496}},
             'level 9': { 'inflate': { 'plain': 28.81813645362854,
                                       'masm': 23.6450355052948},
                          'deflate': { 'plain': 3.9910058975219727,
                                       'masm': 2.302088737487793}}},
  'pc032': { 'level 1': { 'inflate': { 'plain': 24.923137664794922,
                                       'masm': 20.991183042526245},
                          'deflate': { 'plain': 3.7310261726379395,
                                       'masm': 2.6056015491485596}},
             'level 5': { 'inflate': { 'plain': 27.760021209716797,
                                       'masm': 22.589048624038696},
                          'deflate': { 'plain': 3.566000461578369,
                                       'masm': 2.55342698097229}},
             'level 9': { 'inflate': { 'plain': 28.245535135269165,
                                       'masm': 22.70799994468689},
                          'deflate': { 'plain': 3.553999423980713,
                                       'masm': 2.5700416564941406}}}}

Done.

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q029505121\dbg]> "e:\Work\Dev\VEnvs\py_pc064_03.09_test0\Scripts\python.exe" ../code00.py ../enwik8.txt
Python 3.9.9 (tags/v3.9.'level 9':ccb0e6a, Nov 15 2021, 18:08:50) [MSC v.1929 64 bit (AMD64)] 064bit on win32

File: ../enwik8.txt.test
  Size: 100000000, CTime: Tue Sep  6 00:39:59 2022
{ 'pc064': { 'level 1': { 'inflate': { 'plain': 4.711355447769165,
                                       'masm': 4.008531808853149},
                          'deflate': { 'plain': 1.4210000038146973,
                                       'masm': 0.9230430126190186}},
             'level 5': { 'inflate': { 'plain': 8.914000034332275,
                                       'masm': 6.604032516479492},
                          'deflate': { 'plain': 1.3359959125518799,
                                       'masm': 0.8460018634796143}},
             'level 9': { 'inflate': { 'plain': 13.503999948501587,
                                       'masm': 9.228030920028687},
                          'deflate': { 'plain': 1.328040599822998,
                                       'masm': 0.8240146636962891}}},
  'pc032': { 'level 1': { 'inflate': { 'plain': 4.435391664505005,
                                       'masm': 3.933983087539673},
                          'deflate': { 'plain': 1.3369977474212646,
                                       'masm': 0.9399752616882324}},
             'level 5': { 'inflate': { 'plain': 8.48900055885315,
                                       'masm': 6.599977731704712},
                          'deflate': { 'plain': 1.2629964351654053,
                                       'masm': 0.8410165309906006}},
             'level 9': { 'inflate': { 'plain': 12.677618026733398,
                                       'masm': 9.191060781478882},
                          'deflate': { 'plain': 1.251995325088501,
                                       'masm': 0.8130028247833252}}}}

Done.

正如所看到的,对于发布版本(大多数人感兴趣的),使用加速的速度增益并不是很大(有时甚至比 C 代码还慢)。这(加上缺乏维护)是禁用它们的原因之一。

原始答案

在使用汇编器加速时,我发现这个问题在(当前)最新版本上是可重现的:版本1.2.11[GitHub]: madler/zlib - ZLIB DATA COMPRESSION LIBRARY).
此错误发生(显然,OSWin,构建工具链:VStudio 和汇编加速已启用):

  • CMake 建置(适用于${ZLIB_SRC_DIR}/win32/Makefile.msc)
  • x64(* AMD 64 pc 064 ))体系结构(适用于 x86 pc 032

下面是解压缩过程中的“callstack”(top -〉down 相当于 outer -〉inner)。
1.正常情况:
1.膨胀,膨胀
1.* 快速膨胀 inffast.c
1.一个人。
1.汇编程序案例:
1.膨胀,膨胀
1.
快速膨胀 贡献/masmx 64/inffast8664.c*)
1.(* 属性/masmx 64/文件系统x64.asm *)
1.一个人。

问题:

***#2.2.**丢失("${ZLIB_SRC_DIR}/CMakeLists.txt” 不知道 * infast8664.c的任何信息),因此链断开,导致生成库的数据无效(不完整)。

溶液:

CMakeLists.txt 知道该文件,方法是添加:

set(ZLIB_SRCS
    ${ZLIB_SRCS}
    contrib/masmx64/inffas8664.c
)

line*~#158***处(由if(MSVC)elseif (AMD64)条件括起来)。
同时发布全部更改。

  • zlib-1.2.11-msvc_x64_asm_speedups.diff文件夹中的文件名和文件名之间的差异 *:
--- CMakeLists.txt.orig 2017-01-15 08:29:40.000000000 +0200
+++ CMakeLists.txt  2018-09-03 13:41:00.314805100 +0300
@@ -79,10 +79,10 @@
 endif()

 set(ZLIB_PC ${CMAKE_CURRENT_BINARY_DIR}/zlib.pc)
-configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein
-       ${ZLIB_PC} @ONLY)
-configure_file(    ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
-       ${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein
+        ${ZLIB_PC} @ONLY)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
+        ${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
 include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})

@@ -136,30 +136,34 @@
         set(ZLIB_ASMS contrib/amd64/amd64-match.S)
     endif ()

-   if(ZLIB_ASMS)
-       add_definitions(-DASMV)
-       set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE)
-   endif()
+    if(ZLIB_ASMS)
+        add_definitions(-DASMV)
+        set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE)
+    endif()
 endif()

 if(MSVC)
     if(ASM686)
-       ENABLE_LANGUAGE(ASM_MASM)
+        ENABLE_LANGUAGE(ASM_MASM)
         set(ZLIB_ASMS
-           contrib/masmx86/inffas32.asm
-           contrib/masmx86/match686.asm
-       )
+            contrib/masmx86/inffas32.asm
+            contrib/masmx86/match686.asm
+        )
     elseif (AMD64)
-       ENABLE_LANGUAGE(ASM_MASM)
+        ENABLE_LANGUAGE(ASM_MASM)
         set(ZLIB_ASMS
-           contrib/masmx64/gvmat64.asm
-           contrib/masmx64/inffasx64.asm
-       )
+            contrib/masmx64/gvmat64.asm
+            contrib/masmx64/inffasx64.asm
+        )
+        set(ZLIB_SRCS
+            ${ZLIB_SRCS}
+            contrib/masmx64/inffas8664.c
+        )
     endif()

-   if(ZLIB_ASMS)
-       add_definitions(-DASMV -DASMINF)
-   endif()
+    if(ZLIB_ASMS)
+        add_definitions(-DASMV -DASMINF)
+    endif()
 endif()

 # parse the full version number from zlib.h and include in ZLIB_FULL_VERSION

以上是一个 diff。请参见[SO]: Run / Debug a Django application's UnitTests from the mouse right click context menu in PyCharm Community Edition? (@CristiFati's answer)Patching UTRunner部分)了解如何在 Win 上应用补丁(基本上,以**一个“+"符号开头的每一行都进入,以一个“-"**符号开头的每一行都退出)。
我还提交了此修补程序:[GitHub]: madler/zlib - Ms VisualStudio - Assembler speedups on x64,但我关闭了它,因为它包含在开头的那个文件中。

输出

e:\Work\Dev\StackOverflow\q029505121\build\x64>"c:\Install\Google\Android_SDK\cmake\3.6.4111459\bin\cmake.exe" -G "NMake Makefiles" -DAMD64=ON "e:\Work\Dev\StackOverflow\q029505121\src\zlib-1.2.11"
-- The C compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler: C:/Install/x86/Microsoft/Visual Studio Community/2015/VC/bin/amd64/cl.exe
-- Check for working C compiler: C:/Install/x86/Microsoft/Visual Studio Community/2015/VC/bin/amd64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - failed
-- Looking for fseeko
-- Looking for fseeko - not found
-- Looking for unistd.h
-- Looking for unistd.h - not found
-- Renaming
--     E:/Work/Dev/StackOverflow/q029505121/src/zlib-1.2.11/zconf.h
-- to 'zconf.h.included' because this file is included with zlib
-- but CMake generates it automatically in the build directory.
-- The ASM_MASM compiler identification is MSVC
-- Found assembler: C:/Install/x86/Microsoft/Visual Studio Community/2015/VC/bin/amd64/ml64.exe
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Work/Dev/StackOverflow/q029505121/build/x64

e:\Work\Dev\StackOverflow\q029505121\build\x64>"c:\Install\Google\Android_SDK\cmake\3.6.4111459\bin\cmake.exe" --build . --target zlibstatic
Scanning dependencies of target zlibstatic
[  5%] Building C object CMakeFiles/zlibstatic.dir/adler32.obj
adler32.c
[ 10%] Building C object CMakeFiles/zlibstatic.dir/compress.obj
compress.c
[ 15%] Building C object CMakeFiles/zlibstatic.dir/crc32.obj
crc32.c
[ 21%] Building C object CMakeFiles/zlibstatic.dir/deflate.obj
deflate.c
Assembler code may have bugs -- use at your own risk
[ 26%] Building C object CMakeFiles/zlibstatic.dir/gzclose.obj
gzclose.c
[ 31%] Building C object CMakeFiles/zlibstatic.dir/gzlib.obj
gzlib.c
[ 36%] Building C object CMakeFiles/zlibstatic.dir/gzread.obj
gzread.c
[ 42%] Building C object CMakeFiles/zlibstatic.dir/gzwrite.obj
gzwrite.c
[ 47%] Building C object CMakeFiles/zlibstatic.dir/inflate.obj
inflate.c
[ 52%] Building C object CMakeFiles/zlibstatic.dir/infback.obj
infback.c
[ 57%] Building C object CMakeFiles/zlibstatic.dir/inftrees.obj
inftrees.c
[ 63%] Building C object CMakeFiles/zlibstatic.dir/inffast.obj
inffast.c
Assembler code may have bugs -- use at your own risk
[ 68%] Building C object CMakeFiles/zlibstatic.dir/trees.obj
trees.c
[ 73%] Building C object CMakeFiles/zlibstatic.dir/uncompr.obj
uncompr.c
[ 78%] Building C object CMakeFiles/zlibstatic.dir/zutil.obj
zutil.c
[ 84%] Building C object CMakeFiles/zlibstatic.dir/contrib/masmx64/inffas8664.obj
inffas8664.c
[ 89%] Building ASM_MASM object CMakeFiles/zlibstatic.dir/contrib/masmx64/gvmat64.obj
Microsoft (R) Macro Assembler (x64) Version 14.00.24210.0
Copyright (C) Microsoft Corporation.  All rights reserved.

 Assembling: E:\Work\Dev\StackOverflow\q029505121\src\zlib-1.2.11\contrib\masmx64\gvmat64.asm
[ 94%] Building ASM_MASM object CMakeFiles/zlibstatic.dir/contrib/masmx64/inffasx64.obj
Microsoft (R) Macro Assembler (x64) Version 14.00.24210.0
Copyright (C) Microsoft Corporation.  All rights reserved.

 Assembling: E:\Work\Dev\StackOverflow\q029505121\src\zlib-1.2.11\contrib\masmx64\inffasx64.asm
[100%] Linking C static library zlibstatic.lib
[100%] Built target zlibstatic

备注

  • 我使用的是 VStudio2015
  • 关于上述输出:
  • 为了使输出尽可能小,我只构建了 static 版本
  • 出于同样的原因(也是为了将其保留为纯文本),我正在为***“NMake Makefile”***(CmdLine build)进行构建
  • inffas8664.c 正在构建(接近末尾的某个位置)
  • 您也可以禁用汇编器加速(通过*取消选中 CMake-GUI 中的**AMD 64 *),但这只是一种解决方法
  • 我做了一些粗略的测试(到目前为止,我并没有声称这些结果是普遍的),汇编器实现相对于标准实现(Debug 版本)的性能改进是(下面的百分比是执行相同操作(有/没有)加速所花费的时间之间的比率):
  • 压缩:***~86%***
  • 减压:***~62%***

更新 #0

[GitHub]:madler/zlib -在Windows上构建的ASM zlib给出了错误的结果(@madler的注解)声明(强调是我的):
使用了哪些汇编代码?在zlib的contrib目录中有一些。顺便说一下,contrib目录中的东西不是zlib的一部分。它只是为了方便起见而存在,并且被那些第三方贡献者支持(或不支持)。我所要做的就是从下一个发行版中删除这些有问题的代码。
编译警告也是如此(每个人都必须看到(并且很可能被忽略)):

Assembler code may have bugs -- use at your own risk

显然,汇编器加速和 VStudio 沿着得不是很好。此外,在 x86(* pc 032 *)上,还存在一些问题:

由于我使用 CMakeCmdLine 进行构建,因此我找到了一个解决方法。在 CMakeFiles 生成之后(但构建之前),我指定了它:

  • flags.make 文件(ASM_MASM_FLAGS)中

  • 由于我构建了一个 static lib(对于 Debug 构建,我也需要这些符号),因此我还修改了[MS.Docs]: /Z7, /Zi, /ZI (Debug Information Format),因此我修改了同一个文件(C_FLAGS

我确信 CMake 提供了一种以适当的方式完成上述任务的方法,但我没有找到它(也没有进行彻底的调查)
修复后,一切正常,性能改进与 * pc 064 * 类似。
如果有人需要它们,我已经在**[GitHub]: CristiFati/Prebuilt-Binaries - (master) Prebuilt-Binaries/ZLib**(有/没有加速)构建并放置了二进制文件。

相关问题