- ベストアンサー
Macで標準ライブラリのファイル
Macで標準ライブラリの .cファイルは、どこにあるのでしょうか?? FreeBSDなら/usr/src/lib/libc/~~~ にあるのですが、Macでは見つからないのです。。"find / -name printf.c" などとしてみたのですがヒットせず。 OSのバージョンは10.3です。
- candlefire
- お礼率70% (65/92)
- C・C++・C#
- 回答数1
- ありがとう数0
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
じゃあないんじゃないの?
関連するQ&A
- gccの「-l」オプションとライブラリの関係
gcc の -l オプションってどのような動作なのでしょうか?? sendmail関係の少々実験的な開発をするために、 OSに標準で入っているsendmail関係のライブラリである、 /usr/lib/libmilter.a /usr/lib/libmilter.so /usr/lib/libmilter.so.3 を削除して、 sendmailをソースからコンパイルして、 sendmailのソースの中のlibmilterもコンパイルしました。 この時点で、libmilter.a は、コンパイルしたディレクトリ(/usr/local/src/sendmail-8.14.2/)の下の /usr/local/src/sendmail-8.14.2/obj.FreeBSD.6.2-RELEASE.i386/libmilter/ の中にしか存在しないのですが・・・ gcc -pthread -lc_r \ -L/usr/local/src/sendmail-8.14.2/obj.FreeBSD.6.2-RELEASE.i386/libmilter/ \ -lmilter \ test.c としてコンパイルしようとすると、libmilter の中にある関数が、 ことごとく「undefined reference」になってしまいます。 これを、-L や -lオプションでライブラリを探させるのをやめて、明示的に gcc -pthread -lc_r \ test.c \ /usr/local/src/sendmail-8.14.2/obj.FreeBSD.6.2-RELEASE.i386/libmilter/libmilter.a と書くと、問題なくコンパイル&リンクできるのですが・・・ なぜなのでしょうか??
- ベストアンサー
- C・C++・C#
- スタティックライブラリの使い方
Linuxで使えるCのライブラリを落としてきたのですが、使ったことがないので戸惑っています。 パッケージは、makefile , .c , .h の3つで、makeするのはできました。で、ライブラリ.a が出力されまして、このファイルを使え!と説明書にはあるのですが、この先がよくわかりません。 とりあえず、出力されたライブラリを/usr/lib あたりに入れて、自作のプログラムで先ほどのライブラリのヘッダをインクロードするところまではできたのですが・・・。 コンパイルすると、/usr/bin/ld: cannot find -ライブラリ と出てしまいます。教えていただけますでしょうか。
- ベストアンサー
- C・C++・C#
- GNU gettext が変なライブラリを参照している
Solaris 2.7 に GNU gettext 0.14.5 をインストールしようとしています.gmake は通るのですが,出来上がった xgettext や msgfmt などのバイナリを ldd すると, .libs/libgettextsrc-0.14.5.so => .libs/libgettextsrc-0.14.5.so .libs/libgettextlib-0.14.5.so => (file not found) .libs/libintl.so.3.4.3 => (file not found) libiconv.so.2 => /usr/local/lib/libiconv.so.2 libc.so.1 => /usr/lib/libc.so.1 libexpat.so.0 => /usr/local/lib/libexpat.so.0 .libs/libgettextlib-0.14.5.so => (file not found) .libs/libintl.so.3.4.3 => (file not found) libdl.so.1 => /usr/lib/libdl.so.1 /usr/platform/SUNW,Ultra-4/lib/libc_psr.so.1 となり,どうやら一時ディレクトリである .libs 以下のライブラリを参照してしまっているようです.当然,gettext を用いて make した他のプログラムも動かなくなってしまうため,とても困っています. 試しに gettext 0.10.40 という古いものを入れてみたところ,問題は起こりませんでした. libintl.so.1 => /usr/local/lib/libintl.so.1 libiconv.so.2 => /usr/local/lib/libiconv.so.2 libc.so.1 => /usr/lib/libc.so.1 libdl.so.1 => /usr/lib/libdl.so.1 /usr/platform/SUNW,Ultra-4/lib/libc_psr.so.1 回避策等あれば教えていただきたいです. なお,gcc は 2.7.2.3 です.よろしくお願いいたします.
- 締切済み
- Solaris系OS
- 共有ライブラリが見つからない
お世話になります。 xxxxxというソフトウェアを動作させようとしたところ、下記のようなエラーメッセージが出ました。 > ld.so.1: xxxxx: fatal: libsasl.so: version `SUNWprivate1.1' not found (required by file /usr/lib/mps/libldap60.so) > ld.so.1: xxxxx: fatal: libsasl.so: open failed: No such file or directory > rc = 9 ■質問1 これは、 ・ld.so.1という共有モジュールが ・内部的にrequired by file /usr/lib/mps/libldap60.so というモジュールを呼んでいて ・それがlibsasl.soを呼ぼうとしたときに ・`SUNWprivate1.1'というバージョンのものがない というエラーだと解釈してよろしいでしょうか。 ■質問2 findでlibsasl.soを検索したところ、下記の場所にありました。 > /usr/lib/sparcv9/libsasl.so > /usr/lib/libsasl.so crleコマンドで共有ライブラリの検索パスを見てみたところ、/usr/libは含まれていました。 > @root# crle -v > > 構成ファイル [バージョン 4]: /var/ld/ld.config > デフォルトライブラリパス (ELF): /usr/lib:/usr/local/ssl/lib/:/usr/lib/mps > トラステッドディレクトリ (ELF): /usr/lib/secure:/opt/SUNWmsgsr/lib:/usr/lib/mps > > コマンド行: > crle -c /var/ld/ld.config \ > -l /usr/lib:/usr/local/ssl/lib/:/usr/lib/mps \ > -s /usr/lib/secure:/opt/SUNWmsgsr/lib:/usr/lib/mps それでもエラーが出るのは ・このディレクトリにあるlibsasl.soが`SUNWprivate1.1'というバージョンではないから という解釈でよろしいでしょうか。 ■質問3 `SUNWprivate1.1'というバージョンのlibsasl.soを検索する方法があるでしょうか。 いろいろですみません。よろしくお願いいたします。
- ベストアンサー
- Solaris系OS
- ユーザコマンド(1)やライブラリ(3)のソースコードはどこ?
どのUNIX系OSにも見られるgrep(1)等のユーザコマンドや /lib, /usr/lib等にあるライブラリのソースコードは どこで手に入るのでしょうか? システムコール(2)のソースコードは全部/usr/src(linuxの場合)の 中に入っていると考えて良いのでしょうか。
- ベストアンサー
- その他(OS)
- C++ライブラリの使い方について
C++初心者です。ゲームプログラミングを学びたいと思い、 「ゲームプログラマになる前に覚えておきたい技術」という本で勉強を始めました。 この本には専用のライブラリが付属しており、それを使用することを前提としているのですが、 ライブラリの使い方がよく分かりません。 こちらの環境は、 OS : Mac OS X コンパイラ : GNU GCC です。 本に付属しているのは、拡張子が.libと.pdbのファイル群です。 調べてみたところ、.libのファイルはWindows環境で使用するもので、 UNIX系のOSでは拡張子は.aになるそうですが、 .libのファイルをMac OS Xで使えるでしょうか? もしできるなら、どのようにリンクしたらいいのかも教えて頂きたいです。
- ベストアンサー
- C・C++・C#
- lddの見方について教えてください。
必要なライブラリを表示しているのは分かったのですが=>の右側以上のバージョンのライブラリが必要という意味でしょうか?ということは=>となっているのは 存在していてOKということでしょうか? またnot foundとなったライブラリは一般的にどこでみつけて、どこに置けばいいでしょうか? [root@localhost DiCE]# ldd dice /lib/libNoVersion.so.1 (0x00b37000) libqtintf.so => not found libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x0081b000) libpthread.so.0 => /lib/libpthread.so.0 (0x00a77000) libdl.so.2 => /lib/libdl.so.2 (0x00815000) libc.so.6 => /lib/libc.so.6 (0x00d1c000) /lib/ld-linux.so.2 (0x006ab000)
- ベストアンサー
- Linux系OS
- gprofはprintfのようなCの標準ライブラリ関数で使われたコスト
gprofはprintfのようなCの標準ライブラリ関数で使われたコストを どのように認識するのでしょうか? 普通にプロファイルしたいプログラムをmakeしても、標準ライブラリの 関数が処理時間・呼ばれた回数の一覧に出てきません。 gprofは次のどちらとして処理しているでしょうか? ・呼ぼうとしてる親関数の処理時間に、標準ライブラリ関数の時間が含まれる。 ・標準ライブラリ関数の処理時間はまるまる抜け落ちる Linux環境(SLES 10)で、gprofを使ってCで書かれたプログラムの チューニングを行えるかチェックしています。 ただし、OSレベルまでいじりたくないので、-pgオプションをつけて ライブラリを再コンパイルするのは考えていません。 以上、よろしくお願いします。
- ベストアンサー
- C・C++・C#
- ライブラリ、.libとは?
ライブラリと検索すると、標準ライブラリばかり出てきて「○○.lib」のことがいまいち見えてこないのですが、このファイルはどういったものなのでしょうか。 .h、.c、.cppなどでは代用が利かないものなのでしょうか。 あと、C、C++にはライブラリと言うものがあり、あると便利・・・ というのは何となく分かるのですが、 1.ライブラリを配布しているのをあまり見ませんが、どこかまとまって置いてある場所はあるのでしょうか。 2.あまり記載されている参考書が見当たりませんが、どのように使うものなのでしょうか。 3.「このライブラリはどういうものか覚えていた方がいい」というものはありますでしょうか。 この3点について教えていただけるとありがたいです。 よろしくお願いいたします。
- ベストアンサー
- C・C++・C#
- Ocamlの標準ライブラリ
Ocamlの環境を整えようと思い、OPAMを使ってOcamlをインストールしました。emacs上でプログラミングした、何の標準ライブラリも使っていない.mlファイルは問題なく動きました。 しかし、標準ライブラリにあるGraphicsモジュールを使おうとしたところ、それがないといわれます。 $ ocamlc graphics.cma test1.ml -o test1 File "test1.ml", line 1, characters 0-13: Error: Unbound module Graphics 標準ライブラリを使うためには、何か特別なことが必要なのでしょうか。OPAMでOcamlをインストールするとGraphicsなどが使えないからtyperexをいれろということをちらっとネットで見たのですが、これで解決しますか? 環境構築等に関して初心者です。 Mac OS 10.9です。
- ベストアンサー
- その他(プログラミング・開発)