4

私はOpenALを自分のコンピューターで動作させる方法を見つけようとしています:

Ubuntu 12.10 (running on 2010 intel i7 Macbook Pro)

ターミナルからOpenALライブラリをインストールしました。

$ sudo apt-get install libopenal-dev

全てが上手く行きました。ここで、ライブラリを含める単純なC++プログラムを作成しようとしました。

#include <iostream>
#include <AL/alut.h>

using namespace std;

int main(){
    cout << "Hello, world" << endl;
}

どんなに一生懸命やってみても、g++でコンパイルする方法を見つけるのに最も近かったのは次のとおりです。

$ g++ test.cpp -lalut 

これにより、次のエラーが発生します。

test.cpp:2:21: fatal error: AL/alut.h: No such file or directory
compilation terminated.

OpenALを私のプロジェクトにリンクさせる方法について何かアイデアはありますか?私はGoogleで何時間も過ごしましたが、答えは存在しないようです。私はLinuxc++開発にまったく慣れていないので、おそらく根本的に間違ったことをしました。ありがとう。

編集:参照用に変更:

$ g++ -lalut test.cpp

$ g++ test.cpp -lalut

(後者はそれを行う正しい方法です、私はそれを間違って投稿しました)。

4

2 に答える 2

9

alutがインストールされていることを確認してください

sudo apt-get install libalut-dev
于 2013-03-16T18:06:38.157 に答える
5

エラーメッセージは、コンパイラがALUT(OpenAL開発の開始を容易にするユーティリティツールキット)のヘッダーファイルを見つけることができないことを示しています。これは、次の2つの理由のいずれかが原因である可能性があります。

  1. ライブラリをまったくインストールしていません。その場合apt-get installは、OpenAL自体と同じように使用してください。

  2. ヘッダーはシステムのどこかにありますが、デフォルトのインクルードパスにはありません。ファイルシステム上でライブラリを見つけることができる場合は、-Iスイッチを使用して、そのインクルードディレクトリをg++に認識させるようにしてください。

一般に、g ++(または重要な場合はMinGW)を使用してライブラリにリンクする場合、コンパイル中にコンパイラツールチェーンで3つのものを利用できる必要があります。

  • ライブラリのインクルードディレクトリ(ヘッダーファイルがある場所)-使用-I
  • ライブラリファイルのディレクトリ-を使用して-L
  • ライブラリファイルの名前-使用-l

通常、Linuxでは、最初の2つは、適切なライブラリパッケージのインストール手順中に自動的に処理されます。それでも、ライブラリが標準ディレクトリ以外の場所にある場合は、インクルードとライブラリパスを明示的に指定する必要があります。

g ++の使用法の簡潔な紹介については、こちらも参照てください。

編集:あなたの問題はすでに解決されているのに、私は自分の答えをいじるのに少し時間がかかりすぎたことに気づきました。しかし、上記の情報がとにかくあなたに役立つことを願っています!

于 2013-03-16T18:37:08.610 に答える