【发布时间】:2016-09-11 03:09:40
【问题描述】:
我正在构建一个相对简单的 C 扩展来使用 libpng 计算 PNG 文件中的像素;我在 C 中构建了原始版本,它在 Cygwin 中使用以下命令编译(并且可以正常工作):
gcc -o shadow_counter shadow_counter.c -lpng
如果我不包含“-lpng”命令,它将无法编译并在尝试读取 libpng 函数时抛出一堆错误(“未定义对 `png_sig_cmp' 的引用”等)
为了给ruby打包,我把gemspec和文件和文件夹放在一起,构建成一个gem:
gem build shadow_png.gemspec
然后我前往 Powershell 并安装 gem:
gem install shadow_png-0.0.1.gem
如果我省略了 libpng 的内容,它可以正常安装并以应有的方式与 Ruby 对话。但是,一旦我开始尝试引用 libpng 函数并尝试安装它,它就会开始排除我在上面看到的相同错误(未定义对 `png_sig_cmp' 的引用等)。所以我的理论是不包括链接命令 -lpng 。
如何将这些说明作为流程的一部分?我需要添加到 gemspec 中吗?还是构建 gem 的命令?还是必须在 gem 安装中发生?
谢谢!
【问题讨论】: