我正在使用libpng构建一个相对简单的C扩展来计算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函数并尝试安装它,它就会开始解决我在上面看到的SAME错误(未定义引用`png_sig_cmp'等等)。所以我的理论是不知道链接命令-lpng是否包括在内。
如何将这些说明作为流程的一部分?这是我需要添加到gemspec的东西吗?还是构建gem的命令?或者它是否必须在gem安装中发生?
谢谢!
答案 0 :(得分:1)