TviKo7teaFy_ 2024-08-19 00:50 采纳率: 14.3%
浏览 4

Windows openssl如何编译优化的static版本去掉/zi 使用o2优化以及不编译pdb这样减少大小和优化库代码

Windows openssl如何使用nmake编译优化的static release版本去掉/zi 使用o2优化以及不编译pdb调试文件,这样减少大小和优化库代码,因为release本来就是发行版,而使用nmake编译的还有这些调试就很难受,有没有不修改makefile的办法去做到这些参数,如果必须修改makefile将需要如何完美修改呢

  • 写回答

2条回答 默认 最新

  • 何事_ 2024-08-19 00:50
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    关于你的需求,我会尽量详细地解答。首先,为了编译优化的静态版本并去掉某些特定选项,如/ZI(用于增量编译)和使用/O2优化,同时不编译PDB文件以减小大小,确实可能需要修改Makefile或者通过命令行参数来指定。下面是一些步骤和考虑点:

    使用命令行参数编译

    使用nmake编译时,可以直接在命令行中添加参数来覆盖默认的编译选项。例如:

    nmake -f ms\nt.mak clean
    nmake -f ms\nt.mak -j <并行编译的线程数> all OPTIMIZATION=2b ZI=OFF PDB=NONE
    

    在这里:

    • OPTIMIZATION=2b 启用优化级别为 /O2 的编译选项(这是较高级别的优化)。请注意,在 OpenSSL 的上下文中,可能需要确保其他优化标志与 /O2 兼容。
    • ZI=OFF 用于关闭增量编译(/ZI)。
    • PDB=NONE 用于不生成PDB文件。

    修改Makefile(如果需要)

    如果不通过命令行参数达到目的,或者需要更复杂的配置,可能需要直接修改Makefile。以下是修改Makefile的步骤和注意事项:

    1. 找到你的OpenSSL源代码目录中的 ms\nt.mak 文件。这是Windows平台下的Makefile。
    2. 使用文本编辑器打开 nt.mak 文件。
    3. 搜索现有的编译选项,找到关于 /ZI, /O2, 和 PDB生成的配置部分。可能需要在文件中分散查找。
    4. 修改或添加新的变量或命令行选项来覆盖默认设置。例如,设置 OPTIMIZATIONZIPDB 选项如上面所示。
    5. 保存文件并重新运行 nmake 进行编译。

    注意事项:

    • 修改Makefile是一个比较高级的操作,需要熟悉Makefile的语法和Windows编译环境。如果不熟悉这些,建议首先尝试使用命令行参数。
    • 修改Makefile可能会影响其他开发者的构建环境或未来的版本更新,因此请确保备份原始文件并充分测试修改后的构建。
    • 确保在修改前理解这些编译选项的作用和可能的影响,尤其是优化选项,它们可能会影响生成的二进制文件的兼容性和性能。
    • 如果你不熟悉这些工具或过程,可能需要查阅更详细的文档或寻求有经验的开发者的帮助。

    希望这些信息能帮助你解决问题!如果有进一步的问题或需要更详细的指导,请告诉我。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月19日

悬赏问题

  • ¥15 需要在vitis下实现彩调视频图像累加,并输出
  • ¥15 解决不了的LNK2019错误
  • ¥20 MATLAB仿真三相桥式全控整流电路
  • ¥15 EDA技术关于时序电路设计
  • ¥15 百度文心一言流式返回sse失败
  • ¥15 由于远程方已关闭传输流,身份验证失败
  • ¥15 rt-detr,PCB,目标检测
  • ¥15 有偿求指导实证代码。cfps清洗合并后,无论是构建平衡面板还是非平衡面板,都是只剩几百个样本量。求指导一下哪里出问题了,不要潦草回复
  • ¥15 mutlinichenet
  • ¥50 Qt5.14.2怎样使用qlistwidget存储指针类数据并更新?