![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.3ベストアンサー
- 回答日時:
cygwin と前回の質問の回答に書かれているページからファイルをダウンロードしてみました。
このファイルで良いのですよね。
$ ls -lg libsrc.tar.gz
-rwxrwxrwx 1 なし 12716 Sep 12 20:26 libsrc.tar.gz
これを展開して、
cd libsrc/liblac
make -f Makefile.linux
で問題なく、liblaconia.a が構築できましたが…。試してみてください。
当方の環境は、以下のとおりです。
$ uname -a
CYGWIN_NT-5.1 xxxxxxxx 1.5.18(0.132/4/2) 2005-07-02 20:30 i686 unknown unknown Cygwin
$ gcc --version
gcc (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
$ make --version
GNU Make 3.80
> Makeができたとして、それをどこに置いたらよいのかがわからないのです。
どこに置いても、コマンド引数にパス付で指定すれば、OK です。例えば、
gcc -o 実行ファイル名 コンパイルオプション ソースファイル名 他のライブラリ パス/liblaconia.a 他のライブラリ
という具合です。/usr/lib や /lib に置けば、パス/liblaconia.a の代わりに -llaconia と書くことができます(liblaconia.a のあるディレクトリを環境変数 LD_LIBRARY_PATH に追加する方法もあるが、cygwin 環境で有効かは未確認)。
liblaconia.a (または -llaconia)をコマンド引数のどの位置に置くかは注意を要します。基本的には、
liblaconia.a の関数を呼び出しているソース、ライブラリの後ろ
liblaconia.a が呼び出しているライブラリの前
に位置させることになります。
重ね重ね、ありがとうございます。/usrにできたliblaconia.aを置き、ソース名のあとで-llaconiaと表記してコンパイルしましたところ、ついに正常にプログラムが動きました。
これを使って次のプログラムを作って行きたいと思います。本当にありがとうございました。
No.2
- 回答日時:
> ただ、liblaconia.aのMake方法と、Makeができたとして、それをどこに置いたらよいのかがわからないのです。
うーむ、makefile の書き方次第なので、一般的に「こうすればよい」というふうなアドバイスは難しいです。
良くあるのは、「make」でターゲットをビルドし、root になって、「make install」で適切なディレクトリに移動する、というパターンですが…。ダウンロードしたファイル群の中に、README とか INSTALL とか、それらしい名前のテキストファイルは含まれていませんか? もしあれば、その中に make の仕方が書いてあるかもしれません。
> 「Is a directory. Stop.」
ファイルに対して行う操作をディレクトリに対して行ってしまったことを示しています。
> Nothing to be done for 'all'
すでにターゲット(liblaconia.a のこと)は出来上がっているので、何もすることが無いことを示しています。
お近くに、makefile の書き方と cygwin に詳しい方はいらっしゃいませんか? これ以上のアドバイスは、実際のモノにあたってみないと、ちょっと無理なのではないかと思います(ネット上のやりとりでは苦しい)。
No.1
- 回答日時:
「前回の質問」というのは、
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1617366 ですか?「使い方が分からない」というのはどういう意味でしょう?
liblaconia.a は色々な関数を提供していると思いますが、それら関数の使い方が分からないのですか? それならば、liblaconia.a にマニュアルが付属していない限り、分からないと思います(他に情報源が見つけられれば別ですが)。
それとも、入手したソースコードから liblaconia.a を make できない、ということですか? それならば、make したときに出力されるメッセージを補足してください。
なお、「ライブラリ(laconia.h)」と書かれていますが、拡張子 .h はヘッダファイルであり、ライブラリ・アーカイブ(拡張子 .a)ではありません。前回の質問からするとお分かりのようではありますが…。
この回答への補足
質問の内容が具体性に欠けたものであり、申し訳ありませんでした。
「前回の質問」はhttp://oshiete1.goo.ne.jp/kotaeru.php3?q=1617366で間違いありません。また、ご指摘の通り、laconia.hはヘッダファイルでした。
最近ネットで#include "laconia.h"を含むOpenGLのプログラムを手に入れたためコンパイルしようとしたのですが、ライブラリがなくてできませんでした。前回の回答者さんのおかげでライブラリ自体は探せたのですが、Makefileのところでつまずいてしまいました。
laconia.hをusr/includeフォルダの中に入れたところ、コンパイル結果に変化があった(失敗でしたが・・・)ためヘッダファイルはそこに入れればよいのだと思います。
ただ、liblaconia.aのMake方法と、Makeができたとして、それをどこに置いたらよいのかがわからないのです。
一応Makefile内をいじってinclude{ROOT}以下を書き換えたり、「make -f Makefile.linux」をしたりしてみたのですが、「Is a directory. Stop.」や「Nothing to be done for 'all'」などの表示が出るばかりでした。また、一回だけliblaconia.aの作成に成功したのですが、恥ずかしながらどこをどういじり、どうコンパイルしたのかも忘れてしまいました…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VS2008 C++】2つのプロジェ...
-
#pragma commentの相対パス指定
-
DxライブラリのAndroid版の初期...
-
msimg32.libファイルをリンカに...
-
'd3dx9.lib' が開けません。
-
C++Builder リンカエラーとは?
-
exeファイルはどのdllを参照す...
-
eclipse+MinGWの環境で外部ライ...
-
スタティックライブラリ関係の...
-
python エラー
-
アプリケーションのDLLファイル...
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
ILSpyで、デコンパイルできない。
-
<math.h>があるのにsqrtが・...
-
CMakeでfortranをコンパイルしたい
-
Excelのエラーで困ってます。
-
コンパイルエラーで困っています
-
セミコロンについて
-
最初に使う変数のゼロクリアに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スタティックライブラリ関係の...
-
'stdafx.h'のエラーに関して
-
#pragma commentの相対パス指定
-
スタティックリンクライブラリ...
-
fatal error LNK1104: ファイル...
-
visual studio community2017 O...
-
静的/動的リンクライブラリにつ...
-
【VS2008 C++】2つのプロジェ...
-
DirextXエラー:ファイル'dxerr9...
-
C++Builder リンカエラーとは?
-
タイプライブラリのレジストリ...
-
「MFCを使用しない」から「MFC...
-
C言語のPathFileExistsについて
-
VS2010にて、依存関係とビルド順
-
VC++でビルド時の、リンク警告 ...
-
exeファイルはどのdllを参照す...
-
lvwReport/エラー/プロジェクト...
-
VC++6.0からVC++.NET2005へ移植
-
MinGWでOpenMPを使いたいのです...
-
gccでの共有ライブラリのver指定
おすすめ情報