我正在 Windows 上构建一个 Ruby C 扩展,它需要一些外部 C 库,特别是 libcurl 及其依赖项。我有 curllib dll 和 .a 文件。但是,当我使用 extconf.rb 构建时,它总是动态链接库,这需要有人安装 curl 并在他们的 Windows 路径中使用已编译的扩展。相反,我希望 extconf.rb 静态链接 curl 及其依赖项,以便任何人都可以在 windows 上使用扩展,而无需先将 curllib 添加到他们的路径中。
这是我的 extconf.rb
require 'mkmf'
# Name the extension.
extension_name = 'ConnectionManager'
dir_config("curl")
# Make sure the cURL library is installed.
have_library("curl")
# Create the Makefile.
create_makefile(extension_name)
这是我生成我的makefile的命令
ruby extconf.rb --with-curl-dir=C:/Knapsack/x86-windows
有什么我可以添加到我的 extconf.rb 文件或命令来强制 ruby 将外部库静态链接到我的 c 扩展的东西吗?任何帮助将不胜感激,如果您需要更多信息,请告诉我。