如何用g ++(Ubuntu)编译OpenAL程序?

我试图find一种让OpenAL在我的电脑上工作的方法:

Ubuntu 12.10 (running on 2010 intel i7 Macbook Pro) 

我从terminal安装了OpenAL库:

 $ sudo apt-get install libopenal-dev 

一切顺利。 现在我试图创build一个简单的C ++程序,其中包括库:

 #include <iostream> #include <AL/alut.h> using namespace std; int main(){ cout << "Hello, world" << endl; } 

不pipe我多么努力,最接近的是如何用g ++来编译它:

 $ g++ test.cpp -lalut 

这给出了以下错误:

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

关于如何将OpenAL链接到我的项目的任何想法? 我花了数小时在Google上,答案似乎并不存在。 我可能做了一些根本性的错误,因为我是Linux c ++开发的新手。 谢谢。

编辑:改为参考:

 $ g++ -lalut test.cpp 

 $ g++ test.cpp -lalut 

(后面是做这件事的正确方法,我贴错了)。

确保你已经安装了

 sudo apt-get install libalut-dev 

您的错误消息表明您的编译器无法找到ALUT的头文件(一个实用工具包,使OpenAL开发入门更容易)。 这可能是由于以下两个原因之一:

  1. 你根本没有安装这个库。 在这种情况下,像使用OpenAL一样使用apt-get install

  2. 标题存在于系统的某个位置,但不在默认包含路径中。 如果您能够在文件系统上找到该库,请确保使用-I开关使其包含在g ++中。

一般来说,当使用g ++(或者MinGW)来链接到一个库时,在编译过程中需要有三件东西可用于编译器工具链:

  • 库的include目录(头文件所在的位置) – 使用-I
  • 库文件的目录 – 使用-L
  • 库文件的名称 – 使用-l

通常在Linux上,前两种是在相应的库包安装过程中自动处理的。 不过,如果你的图书馆在标准目录以外的地方休息,你必须明确指定包含和库路径。

有关g ++使用的简要介绍,请参阅这里 。

编辑:我知道我花了太多的时间摆弄我的答案,而你的问题已经解决了。 但是,我希望上面的信息对你有用!

Gracias busque esta info por todos lados。

En resumen:

sudo apt-get install libasound-dev sudo apt-get install libopenal-dev sudo apt-get install libalut-dev

recuerden incluir la libreria openAL en

Project – > Properties – > C / C ++ Build – > Settings – > Compiler – > Includes