• ベストアンサー

linuxで使うライブラリを作成する方法

rubyで作ったプログラムから linuxの静的ライブラリ、動的ライブラリを作る方法が あるでしょうか?

  • Ruby
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4845/10255)
回答No.1

日本語が曖昧ですが、 (1) シェルのコマンドラインからライブラリを作る方法は知っている。それをRubyから行うにはどうしたらいいか? (2) C等から、Rubyで書いたプログラムを呼びたい。Rubyで書いたプログラムをCにリンクできるライブラリ化できるか? のどちらでしょう? (2)だと、出来ません。

hercle
質問者

お礼

ご回答ありがとうございます。 (2)です。 CでRubyを呼び出す方法は分かっていますが、 配布用にライブラリ化する、というのが 分かりませんでした。 そもそもコンパイルする言語ではないので、 あきらめてはいましたが・・・ ありがとうございます。

関連するQ&A

  • 自作ライブラリの作成方法

    お世話になります。現在、C言語でプログラムを作成してますが、 自作ライブラリの作成方法について教えてください。 現在は、1つのfileにmain()と関数を両方記述してます。 (少々、見にくく解消したいのですが良い本がみつかりません) 知りたいことは、 1)ライブラリのコンパイルから作成方法 2)headerの書き方 3)それらの保存場所、他、環境設定 ※入門書は、かなり読みましたがずぶの素人です。  もし良い本があれば紹介ください。 環境は、 BCC(WINDOWS) GCC(linux) を使ってます。 宜しくお願いします。

  • ライブラリのアップデート方法を教えてください。

    Linux Centos4.7 Pakageのアップデート方法がわかりません。yumではみつからないといわれてしまいます。具体的にはgtk+-2.0を入れたいのですが。 簡単な質問かもしれませんがよろしくお願いします。ちなみに、make,installしても他のプログラムをコンパイルする際に、ライブラリバージョンが低いと言われてしまいます。

  • スタティックライブラリの使い方

    Linuxで使えるCのライブラリを落としてきたのですが、使ったことがないので戸惑っています。 パッケージは、makefile , .c , .h の3つで、makeするのはできました。で、ライブラリ.a が出力されまして、このファイルを使え!と説明書にはあるのですが、この先がよくわかりません。 とりあえず、出力されたライブラリを/usr/lib あたりに入れて、自作のプログラムで先ほどのライブラリのヘッダをインクロードするところまではできたのですが・・・。 コンパイルすると、/usr/bin/ld: cannot find -ライブラリ と出てしまいます。教えていただけますでしょうか。

  • Linuxの動的ライブラリをMacで使いたい

    64bit Linux用に提供されたライブラリ(*.a, *.so)をMac(Snow Leopard)で使いたいと思っています。Mac環境でコンパイルをしたところ、リンク時に以下のwarningが出てしまいました。 ld: warning: in xxx.so, file is not of required architecture Webで調査し、gccのオプションに-arch i386 -arch x86_64を付けてみましたが解決できませんでした。そもそも、Linux用のライブラリをMacで使うというのは無理なのでしょうか?ご回答どうぞよろしく御願いいたします。

  • rubygemsとruby twitter gem ライブラリーを読み

    rubygemsとruby twitter gem ライブラリーを読み込もうとすると エラーになってしまいます。 ------ require 'rubygems' require 'twitter' エラーメッセージ H:\Program Files\Ruby-1.9.1\bin>gem ruby 1.rb ERROR: While executing gem ... (RuntimeError) Unknown command ruby H:\Program Files\Ruby-1.9.1\bin> ------------------- Winxpです。 ご指導のほどお願いします。

    • ベストアンサー
    • Ruby
  • 共有ライブラリの作成について

    呼び出した関数名の名前を表示させる、 テスト用共有ライブラリ「testLib.so」を作成しようと思っています。 そしてそのライブラリを他のプログラムから呼び出すというものです。 以下、内容。 int test1(void){ printf("test1 program."); } int test2(void){ printf("test2 program."); } int test3(void){ printf("test3 program."); } 【パターン1】 上記関数毎でファイル分けし、 test1.c、test2.c、test3.c と言うファイルを作成。 これらの各オブジェクトを取り込んで共有ライブラリを作成するパターン。 【パターン2】 全ての関数を「testDisp.c」と言うファイルに記述し、 このオブジェクトファイルで共有ライブラリを作成するパターン。 上記パターン1と2では用途によって使い分け方法があると言う話を先日聞いたのですが、どの様な場合に1、どの様な場合に2のパターンを使用するのでしょうか。 宜しくお願い致します。

  • LinuxへPEARライブラリをインストール

    こんにちは。 OSがLinuxで、WEB開発はWindowsで行っています。 制作したphpファイルをFTPでLinux側へ送るといった感じです。 使いたいPEARライブラリ(PAGER)をインストールしたいのです。 いろいろやってみたのですが、うまくできません。 そもそもWindows側からインストールできるのでしょうか。 ご存知の方おられましたら、ご教授ください。 宜しくお願いいたします。 (PHP4、MySQL) PHP初心者、Linuxの知識はありません。

    • ベストアンサー
    • PHP
  • PHPでLinux用のCライブラリを呼び出す方法?

    こんにちは Cライブラリ(*.soまたは*.a)をPHPで呼び出す方法について教えていただきたいのですが。 前にWindows上でもPHPを通してライブラリを呼び出した経験は一切ないので、詳しい説明またはチュートリアルのURLを教えていただけないのでしょうか? 今の環境は Ubuntu 11.10 Apache/PHP/MySQL 静的ライブラリのファイル(*.a) 動的ライブラリのファイル(*.so) そのライブラリのヘッダファイル(*.h) ご回答をよろしくお願いします

    • ベストアンサー
    • PHP
  • バージョンの違うライブラリを適宜使い分けたい

    linux上にて、バージョンの異なるライブラリをインストールしております。このライブラリを用いて、コンパイル・実行をする際に、バージョンの違うライブラリを適宜使い分けたいのですが、どのようにすると効率的でしょうか? makeを使ってコンパイルしていますが、コンパイルの際に静的リンクを行うのが良いでしょうか?それとも、動的リンクにしておき、実行時にLD_LIBRARY_PATHを設定しなおして動かすのが良いでしょうか?あるいは、上記以外に方法があればアドバイスをもらえればと思います。

  • ruby1.9からtwitterライブラリをインストールするとエラーに

    ruby1.9からtwitterライブラリをインストールするとエラーになってしまいます。 環境はWinxpです。 H:\Program Files\Ruby-1.9.1\bin>gem install twitter と、すると、以下のエラーメッセージが・・・。 Building native extensions. This could take a while... ERROR: Error installing twitter: ERROR: Failed to build gem native extension. "H:/Program Files/Ruby-1.9.1/bin/ruby.exe" extconf.rb install twitter creating Makefile nmake 'nmake' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 Gem files will remain installed in H:/Program Files/Ruby-1.9.1/lib/ruby/gems/1.9 .1/gems/yajl-ruby-0.7.5 for inspection. Results logged to H:/Program Files/Ruby-1.9.1/lib/ruby/gems/1.9.1/gems/yajl-ruby -0.7.5/ext/gem_make.out ------------------- ちなみに、 H:\Program Files\Ruby-1.9.1\bin>gem install twitter4r とすると、インストールは出来ます。 ただ、requireでtwitterを読み込もうとすると 「msvcrt-ruby18.dllがありません」 と言うエラーになってしまいます。 助けていただければ幸いです。

    • ベストアンサー
    • Ruby

専門家に質問してみよう