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で質問しましょう!
似たような質問が見つかりました
- 写真・ビデオ iPhoneのプライバシーとセキュリティの写真の項目について 2 2023/06/24 23:11
- iPhone(アイフォーン) iPhoneのプライバシーとセキュリティの写真の項目について 1 2023/06/24 20:25
- iCloud 【iTunes】CDをiPhoneに取り込めません 2 2022/09/19 09:59
- iPhone(アイフォーン) 仕事でPDFファイルをダウンロード、閲覧するのにiBooksを使っていますが、ライブラリに凄い数のフ 2 2022/11/16 07:08
- iPhone(アイフォーン) 「ライブラリ」ってどこの事ですか? ※ 英語の勉強のために Amazon で買物をしたいのですが、「 2 2023/07/14 22:04
- その他(プログラミング・Web制作) Pythonのライブラリをダウンロード済みかどうか簡単にチェックできますか? 3 2023/06/24 10:48
- その他(パソコン・スマホ・電化製品) 同じアカウントでKindleを共有しています。これはホームです。ホーム画面で続き、ホーム画面でもっと 1 2023/07/04 18:57
- TOEFL・TOEIC・英語検定 2014年に購入した英文法書でTOIEC対策をしてもよいか? 1 2023/01/08 11:41
- ノートパソコン パソコンのiTunesライブラリにエクスプローラーにある曲を引っ張って来てリンクさせたいのですが、エ 1 2023/04/06 07:49
- その他(プログラミング・Web制作) Pythonのライブラリ、randomについて 3 2022/09/20 14:30
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VS2008 C++】2つのプロジェ...
-
VS2010にて、依存関係とビルド順
-
DirectInputについて
-
mac(osX)で、Javaはどこにイン...
-
fatal error LNK1104: ファイル...
-
eclipse+MinGWの環境で外部ライ...
-
LTspice モデル作成について
-
MinGWでOpenMPを使いたいのです...
-
C++はじめようと思います
-
スタティックライブラリ関係の...
-
#pragma commentの相対パス指定
-
非GPL版libx264とffmpegビルド
-
OpenSSLの共有ライブラリ(libcr...
-
Radiusのmake時に表示されるエ...
-
GDLの設定
-
error LNK2001: 外部シンボル "...
-
アセンブリプログラムでシェル...
-
'd3dx9.lib' が開けません。
-
Release用にもDebug用にも使え...
-
静的/動的リンクライブラリにつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スタティックライブラリ関係の...
-
スタティックリンクライブラリ...
-
fatal error LNK1104: ファイル...
-
VC++6.0からVC++.NET2005へ移植
-
error LNK2001: 外部シンボル "...
-
C++Builder リンカエラーとは?
-
#include <winreg.h>をインクル...
-
タイプライブラリのレジストリ...
-
【VS2008 C++】2つのプロジェ...
-
#pragma commentの相対パス指定
-
'd3dx9.lib' が開けません。
-
'stdafx.h'のエラーに関して
-
VC++でビルド時の、リンク警告 ...
-
「MFCを使用しない」から「MFC...
-
error LNK2019: 未解決の外部シ...
-
静的/動的リンクライブラリにつ...
-
MP3の再生
-
dllかlibか
-
C++によるPostgreSQLの接続
-
visual studio community2017 O...
おすすめ情報