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

コンパイルすると、/usr/bin/ld: cannot find -ライブラリ

と出てしまいます。教えていただけますでしょうか。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

ライブラリの名前はどんなんですかね。



もし、小文字の lib から始まっている名前、例えば、libXXX.a なんていう
名前になっていて、それが /usr/lib の下にあるんだったら、それを使う
プログラムのリンクのときに -lXXX と指定します(頭の lib を取って、
ファイルの末尾 .a も取る)。

例えば、

% cc -o sample sample.c -lXXX

です。-l (小文字のエル)と、ライブラリ名 XXX の間には空白を *入れない* こと。

もし、lib で始まっていないライブラリであれば、直接フルパスで指定します。
例えば、ライブラリが XXXXX.a という名前で /usr/lib の下においてあるの
だったら、

% cc -o sample sample.c /usr/lib/XXXXX.a

という感じです。
    • good
    • 0
この回答へのお礼

やはり場所の指定の問題でした。実は、ご回答を頂く前にいろいろ試行錯誤しまして、-Lで場所を指定したら無事にコンパイルできました。なかなか奥が深そうでちょっと楽しみです。ありがとうございました。

お礼日時:2001/09/17 17:36

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qカッコ悪い使い方

カッコ悪い使い方ってあると思います。
モノの使い方、言葉の使い方、ファッション、
店の利用の仕方、あるいは、このサイトやネットの使い方etc
皆さんの考える「この使い方はカッコ悪い」を教えて下さい。

Aベストアンサー

ものの使い方ではないんですが、ひとつ挙げるとすれば、その人が外見的にカッコ良い人でもそうでなくても、いかにもカッコつけた態度をとっている人、つまり自意識過剰が見え見えの人はカッコ悪いと思います。

逆に言えば、自分に自信が持てるってことは、すごく幸せなことかも。
ま、それがその人の性格だったら、どうしようもないですけど・・・(-_-;)

Q/usr/ucb/cc

よく/usr/ucb/ccは使わないほうが良いと書かれているのを見かけますが、なぜなのでしょうか?
ご存知の方は教えてください。

Aベストアンサー

OS が何であるか書かれてないので、はっきりした回答はできませんが、確か /usr/ucb/cc は大昔からあるコンパイラで、ANSI 規格に対応していなかったように思います。

ANSI C でないから使わない方が良い、ということではないでしょうか?

今なら、GNU C コンパイラがお勧めですね。フリーだし高性能だしサポートも良いし…

Qラブホテルで、本来以外の使い方をした経験、ありますか?

本来の使い方は、皆さん知っていますね?
そうではなくて、本来以外の使い方です。
テレビで「ラブホ女子会」が流行っている話をしていましたが、例えばそういうこととか、単に寝るために泊まったとか、出張で使ったとか、カラオケとか、昼寝とか・・・とにかく、本来の使い方ではない使い方です。
もちろんその後も、本来の使い方はしないでチェックアウトしたという前提です。

ラブホテルによっては、そういう使い方を認めないところもあるようですが、本来以外の使い方をした経験はありますか?

Aベストアンサー

お盆に家族旅行に行ったとき高速で30Km渋滞と表示されていたので、雄琴温泉に仕方なく宿泊しようとした。何処も満室で仕方なくラブホに家族で宿泊した。
回転するベッドや明るさの調整できる風呂があり、子供が大はしゃぎで遊んでいた。
妻とこんな使い方もあるなーと話をした。家族全員だと雄琴なら6,7万円必要なところ8000円ですみ
朝食もディナーのような肉料理だった。フロントの人は、普通はこんな使い方しないけど、いい勉強になった
こんな使い方も考えてみたいと言っていた。

QMakefileと共有ライブラリ

main.c sub1.c sub2.cに対して
共有ライブラリlibsub1.soとlibsub2.soを生成して
それをもちいてmainをコンパイルするMakefileを以下のように記述しました。

CC=gcc
LIB=
CFLAGS=-Wall
TARGET = main
SHAD = -shared
.SUFFIXES:.so .o
SRCS = main.c libsub1.so libsub2.so

$(TARGET):$(SRCS)
$(CC) -o $@ $(SRCS)
@echo "make finished!!"

#.o.so:
#$(CC) $(SHAD) -o $@ $<

libsub1.so:sub1.o
gcc -shared -o libsub1.so sub1.o

libsub2.so:sub2.o
gcc -shared -o libsub2.so sub2.o

.c.o:
$(CC) -c $<

#sub1.o:sub1.c
#gcc -c -fPIC sub1.c

#sub2.o:sub2.c
#gcc -c -fPIC sub2.c

clean:
@rm -f libsub?.so sub?.o

ここで.oから.cを生成するのはサフィックスでできたのですが、同じように.oから.soを生成するのは
できませんでした。

#.o.so:
#$(CC) $(SHAD) -o $@ $<

ここはどのように記述したらいいのでしょうか?
回答お願いします。

main.c sub1.c sub2.cに対して
共有ライブラリlibsub1.soとlibsub2.soを生成して
それをもちいてmainをコンパイルするMakefileを以下のように記述しました。

CC=gcc
LIB=
CFLAGS=-Wall
TARGET = main
SHAD = -shared
.SUFFIXES:.so .o
SRCS = main.c libsub1.so libsub2.so

$(TARGET):$(SRCS)
$(CC) -o $@ $(SRCS)
@echo "make finished!!"

#.o.so:
#$(CC) $(SHAD) -o $@ $<

libsub1.so:sub1.o
gcc -shared -o libsub1.so sub1.o

libsub2.so:sub2.o
gcc -shared -o libsub2.so sub2.o

.c.o:
$(CC) -c $<...続きを読む

Aベストアンサー

このように書けばできなくはないですが、No.2の方が指摘されているように、
ライブラリとオブジェクトが1:1とは限らないのできっちりルールを書かれた方が
よいように思います。

lib%.so: %.o
    $(CC) $(SHAD) -o $@ $<

もしくは、Makefileをそのままにして、ソースのファイル名を sub1.c、sub2.cではなく、
libsub1.c、libsub2.cとする。

Qこのお箸の使い方ってOKなんですか?はたして疑問

たまに目にする箸の使い方。
フォークとナイフのように右と左に1本づつ持って
何かを切る、という箸の使い方って正しいんでしょうか。
私個人的にはそういう使い方を目にすると
嫌悪感を覚えるのですが。以前テレビを見ていたとき
君島十和子さんが堂々とそういう使い方をするのを
見て驚きました。ネットで調べたけれど、この使い方に
ついては見つけることができませんでした。
どなたか教えてください。

Aベストアンサー

調べてきました。
「ちぎり箸」というそうで、間違った使い方のひとつとのことです。

参考URL:http://www.table-manners.org/dainty_kaiseki/chopsticks/

Qライブラリ、.libとは?

ライブラリと検索すると、標準ライブラリばかり出てきて「○○.lib」のことがいまいち見えてこないのですが、このファイルはどういったものなのでしょうか。
.h、.c、.cppなどでは代用が利かないものなのでしょうか。

あと、C、C++にはライブラリと言うものがあり、あると便利・・・
というのは何となく分かるのですが、
1.ライブラリを配布しているのをあまり見ませんが、どこかまとまって置いてある場所はあるのでしょうか。
2.あまり記載されている参考書が見当たりませんが、どのように使うものなのでしょうか。
3.「このライブラリはどういうものか覚えていた方がいい」というものはありますでしょうか。

この3点について教えていただけるとありがたいです。
よろしくお願いいたします。

Aベストアンサー

>1.ライブラリを配布しているのをあまり見ませんが、
>どこかまとまって置いてある場所はあるのでしょうか。
なんのライブラリのことでしょうか?
ライブラリとは汎用性の高い関数や機能を再利用可能な形にした物を
言います。これは、目的によってプログラマが作ったり、
既に公開されたりしているものもあります。

>2.あまり記載されている参考書が見当たりませんが、
>どのように使うものなのでしょうか。
ライブラリの作りはそれを使う環境にも依存しますが、
Windows環境の場合、Libファイルにはダイナミックリンクライブラリ
(DLL)とスタティックリンクライブラリという2種類が存在します。
Libファイル(***.lib)はDLLの場合、そのライブラリが提供している
関数の関数名などの外部参照用のデータが入っています。
そして、実行には使用したLIBファイルのバイナリデータが入った
DLLファイル(***.dll)が必要です。
スタティックリンクライブラリのLibファイルは、それ自体に
ライブラリのバイナリが含まれており、使う場合はその使ったアプリ
にバイナリとして埋め込まれます。
なので、実行時にDLLファイルは必要ありません。

>3.「このライブラリはどういうものか覚えていた方がいい」
>というものはありますでしょうか。
ライブラリについては特に覚えることは多くありませんし
自分でライブラリを作るなら覚えて損はありません。
むしろ、覚えなくてはいけないのは、ライブラリにした場合に
どのようなことに注意するかです。
ライブラリの扱いは上には上にも書いたとおり、環境に依存する
ところがあるため、使用する環境に応じてある程度作り方が
違ってきます。

>1.ライブラリを配布しているのをあまり見ませんが、
>どこかまとまって置いてある場所はあるのでしょうか。
なんのライブラリのことでしょうか?
ライブラリとは汎用性の高い関数や機能を再利用可能な形にした物を
言います。これは、目的によってプログラマが作ったり、
既に公開されたりしているものもあります。

>2.あまり記載されている参考書が見当たりませんが、
>どのように使うものなのでしょうか。
ライブラリの作りはそれを使う環境にも依存しますが、
Windows環境の場合、Libファイルに...続きを読む

Q日本語 「よう」の使い方

「よう」の使い方で同じ使い方のものを選ぶ問題の中で、
 1. 彼の家は大きくて、お城のようです。と
 2. 彼は日本人のように上手に話せます。が、同じ「よう」の使い方になっていました。1.は名詞+のようだ。 2.は名詞+のように+名詞or形容詞の使い方だと私は思うのですが......。1.と2.が同じ使い方になるのはどうしてなのでしょうか........?教えてください。

Aベストアンサー

コメントにお答えします。

まず、最初のご質問文の中にある誤りを指摘していませんでしたが、
 2.は名詞+のように+名詞or形容詞
は誤りで、
 2.は名詞+のように+動詞or形容詞or形容動詞
とすべきです。


では、本題。

>>>1.と2.の「よう」の意味は同じ、使い方は同じではないということですか??????。

問題は、解答者に対してこの2つの比較を求めています。
1「~のようです」(「ようです」の終止形)
2「~のように」(「ようだ」の連用形)

あなたの考え方は、
 1.は名詞+の+「ようだ/ようです(=終止形)」。
 2.は名詞+の+「ように(=連用形)」+動詞or形容詞or形容動詞
となっているから、使い方は異なるのではないか、ということですよね。

しかし、
国語(日本語)の問題で「同じ使い方のものを選べ」という問題がある場合、
単に活用形が異なるだけの言葉同士を「使い方が違う言葉」として扱うことは、通常ありません。


「お城のようだ/ように/ようです」「日本人のようだ/ように/ようです」は、
A + の + ようだ/ようです = 「Aのようだ/です」
の形です。
つまり、「形として、使い方が同じ」です。

そして、どちらも
・「Aではないけれども、Aに似ている」
・「Aではないけれども、Aの感じがする」
という意味になります。
つまり、「意味として、使い方が同じ」です。

ですから、1と2は、「形としても、意味としても、使い方は同じ」ということになります。


では!

コメントにお答えします。

まず、最初のご質問文の中にある誤りを指摘していませんでしたが、
 2.は名詞+のように+名詞or形容詞
は誤りで、
 2.は名詞+のように+動詞or形容詞or形容動詞
とすべきです。


では、本題。

>>>1.と2.の「よう」の意味は同じ、使い方は同じではないということですか??????。

問題は、解答者に対してこの2つの比較を求めています。
1「~のようです」(「ようです」の終止形)
2「~のように」(「ようだ」の連用形)

あなたの考え方は、
 1....続きを読む

Qインポートライブラリ(.lib)ファイルについて

インポートライブラリファイル(.lib)とは
何を行うファイルなのでしょうか。
外部DLLを使用可能にするためのファイルでしょうか。
libファイルの意味、使用方法を教えてください。

Aベストアンサー

そのとおりです。間接的にリンクできる関数はDLLにあって、実行時にリンクすることがあります。DLLの関数群を直接コールすることもできるはずですが、それらの関数をコールするための手続きをインポートライブラリとして用意しておくことが多いようです。

どうも、間違ってはいないんだけど、いまいちつかめないといった感じですね。

実行ファイルの中に入っているのが直接リンクした関数で、実行時にリンクされるのが間接的にリンクする関数と言うことになるでしょう。

C++ Builder5のことはよくわかりません。ごめんなさい。

Qタイガーバームの使い方

おみやげでタイガーバームを頂きました。使い方を教えて下さい。
基本的な使い方から意外な使い方まで、何でもお願いします。

Aベストアンサー

「何にでも効く」というふれ込みの万能?軟膏ですね。(笑)香港やシンガポールにはこれで大金持ちになった方が作った「タイガーバームガーデン」なるものがありました。
基本的には筋肉痛や肩こりなどに効くとされていますが、匂いがものすごいため、人前に出るときにはどうかと思います。
使用法は、少量をとり、肌に良くすりこみます。さらにマッサージをするすと、有効成分が浸透しやすく、いっそう効果的だそうです。
でも、けして切り傷や生傷には使用しないで下さい。 また体の粘膜部分など敏感なところへの使用もだめですよ。

QMakefile.inとMakefile.am

回路設計をするためにsystemCをlinux(centOS)にインストールしました。サンプルプログラムの入ったディレクトリがあってそのサンプルプログラムをコンパイルして実行したいです。ところがコンパイルの仕方がわかりません。

例)rsaというディレクトリの内容
[root@localhost rsa]#ls -l
-rw-r--r--. 1 root root 2023 11月 27 21:24 2012 Makefile.am
-rw-r--r--. 1 root root 16276 11月 27 21:24 2012 Makefile.in
-rw-r--r--. 1 root root 2072 11月 27 21:24 2012 README
-rw-r--r--. 1 root root 14137 11月 27 21:24 2012 rsa.cpp
-rw-r--r--. 1 root root 4644 11月 27 21:24 2012 rsa.vcproj

予想するに、systemCをインストールするときに
$./configure
$make
$make install
と打ったので、Makefile.inとMakefile.amがあやしいと思うのですが、これをどのように使ったらよいのやらわかりません。

教えてください。もしくは、参考文献などを教えてください。
すみません。

回路設計をするためにsystemCをlinux(centOS)にインストールしました。サンプルプログラムの入ったディレクトリがあってそのサンプルプログラムをコンパイルして実行したいです。ところがコンパイルの仕方がわかりません。

例)rsaというディレクトリの内容
[root@localhost rsa]#ls -l
-rw-r--r--. 1 root root 2023 11月 27 21:24 2012 Makefile.am
-rw-r--r--. 1 root root 16276 11月 27 21:24 2012 Makefile.in
-rw-r--r--. 1 root root 2072 11月 27 21:24 2012 README
-rw-r--r--. 1 root root 14137 11...続きを読む

Aベストアンサー

READMEにインストール方法書いてたりしませんか?


人気Q&Aランキング

おすすめ情報