Я нашел блог о том, как упаковать расширения Ruby C
Согласно блогу ( http://blog.x-aeon.com/2012/11/28/packaging-ruby-c... ), там написано
Независимые от платформы драгоценные камни Ruby с собственным расширением C
Добавьте только исходные файлы расширения C: это только файлы .c и extconf.rb. Нет необходимости в Makefile и скомпилированных файлах.
Добавьте каталог ext в необходимые пути
Сохраняйте платформу как Ruby (независимую)
Зарегистрируйте расширения C, которые вы включаете: это сообщит RubyGems, что после установки есть этап компиляции. Это делается путем указания всех путей к файлам extconf.rb.
Зависящие от платформы драгоценные камни Ruby с собственным расширением C
Добавьте скомпилированные файлы расширения C (точно так же, как и для обычных файлов Ruby).
Добавьте каталог ext в необходимые пути
Установить платформу как текущую
Я проанализировал драгоценный камень Родоса. Этот драгоценный камень содержит собственные расширения (есть каталог файлов для расширений, в нем есть extconf.rb)
Однако в папке ext/ нет исходного кода C. Он имеет только makefile и файлы общей библиотеки (так и dll) с extconf.rb
Этот драгоценный камень не зависит от платформы. Согласно gemfile, по умолчанию используется Ruby. Это означает, что он может работать на любой платформе Ruby.
Если это так, то это нарушает правило 1: Добавляйте только исходные файлы расширения C: то есть только файлы .c и extconf.rb. Нет необходимости в Makefile и скомпилированных файлах для независимых от платформы драгоценных камней Ruby с собственным расширением C.
Всегда ли эти правила применяются к любому gemfile?
Кроме того, не могли бы вы объяснить: «Добавьте скомпилированные файлы расширения C (точно так же, как вы делаете это для обычных файлов Ruby)»?
Пожалуйста, помогите мне!