请求Win32环境下编译集成OpenSSL的FreeTDS的详细分步方法
Win32环境下编译集成OpenSSL的FreeTDS分步指南
前置准备
- 安装Visual Studio 2019(需包含C++开发工具集)
- 安装Win32版Perl(如Strawberry Perl或ActivePerl),并将其可执行文件路径添加到系统
PATH环境变量 - 确认OpenSSL已安装至
c:/program files(x86)/openssl-win32,该路径下需包含include目录(头文件)和lib目录(对应Debug/Release模式的库文件)
步骤1:准备FreeTDS源码
- 下载FreeTDS 1.3.18源码包并解压至
c:/code/freetds-1.3.18,确保路径无中文或空格
步骤2:CMake参数配置(核心:让CMake识别OpenSSL)
- 打开CMake-GUI,设置:
- 源代码路径:
c:/code/freetds-1.3.18 - 二进制构建路径:
c:/code/freetdsbin(建议无空格)
- 源代码路径:
- 点击Configure,选择
Visual Studio 16 2019,平台选Win32,点击Finish - 在CMake-GUI的搜索框中查找并手动设置以下参数:
OPENSSL_ROOT_DIR:填入c:/program files(x86)/openssl-win32OPENSSL_CRYPTO_LIBRARY:Debug模式选c:/program files(x86)/openssl-win32/lib/VC/libeay32MDd.lib(或对应你的OpenSSL库文件名);Release模式选c:/program files(x86)/openssl-win32/lib/VC/libeay32MD.libOPENSSL_SSL_LIBRARY:Debug模式选c:/program files(x86)/openssl-win32/lib/VC/ssleay32MDd.lib;Release模式选c:/program files(x86)/openssl-win32/lib/VC/ssleay32MD.libWITH_OPENSSL:勾选(启用OpenSSL集成)- 可选:若无需ODBC扩展,取消勾选
ENABLE_ODBC_MARS和ENABLE_ODBC_WIDE以减少编译警告
- 再次点击Configure,直到所有红色高亮参数消失,确认CMake输出中无
Could NOT find OpenSSL错误 - 点击Generate生成Visual Studio项目文件
步骤3:Visual Studio编译与安装
- 点击CMake-GUI的Open Project打开生成的解决方案
- 选择
Debug模式,右键点击ALL_BUILD项目,选择生成(编译警告多为平台兼容问题,无错误即可忽略) - 切换至
Release模式,重复上述生成操作 - 右键点击
INSTALL项目,选择生成,编译产物会被安装到CMAKE_INSTALL_PREFIX指定路径(默认C:/Program Files (x86)/FreeTDS);也可直接在c:/code/freetdsbin/src下的Debug/Release子目录找到库文件
常见问题修复
- CMake提示找不到Perl:重启CMake-GUI,确保Perl已添加到系统
PATH - 根目录Debug/Release文件夹为空:产物默认在构建目录的
src子文件夹中,或执行INSTALL后到安装目录查找 - OpenSSL库匹配错误:确认OpenSSL的库文件名与CMake参数一致,新版OpenSSL可能命名为
libcrypto.lib/libssl.lib,需对应调整
内容的提问来源于stack exchange,提问作者CuriousMax
相关产品推荐
相关产品推荐

