如何禁用OpenSSL C++调试字符串?使用vcpkg安装x64-mingw-static 3.1.1#1
移除OpenSSL调试字符串的方案
针对你通过vcpkg安装的x64-mingw-static版本OpenSSL 3.1.1#1,可通过以下几种方式禁用或移除调试输出:
1. 重新编译OpenSSL时禁用调试特性
vcpkg默认安装的包可能包含调试组件,你可以通过自定义编译参数重新构建:
- 找到vcpkg的OpenSSL端口目录(一般在
vcpkg/ports/openssl路径下) - 修改
portfile.cmake,在Configure阶段添加no-debug配置项,同时确保编译时定义NDEBUG宏 - 执行重新安装命令:
vcpkg install openssl:x64-mingw-static --clean-build
2. 代码层面运行时关闭调试日志
无需重新编译的话,可在程序初始化阶段调用OpenSSL的日志控制API:
#include <openssl/crypto.h> #include <openssl/err.h> // 清空调试回调,关闭所有调试输出 CRYPTO_set_debug_callback(NULL); // 禁用错误日志回调 ERR_set_error_callback(NULL);
3. 安装时直接指定禁用调试的参数
安装OpenSSL时通过vcpkg的自定义cmake参数跳过调试配置:
vcpkg install openssl:x64-mingw-static -DOPENSSL_NO_DEBUG=ON --clean-build
内容的提问来源于stack exchange,提问作者Kaspek
相关产品推荐
相关产品推荐

