Sef*_*efu 4 c++ linux ubuntu linker openal
我试图找到一种方法让OpenAL在我的电脑上工作:
Ubuntu 12.10 (running on 2010 intel i7 Macbook Pro)
Run Code Online (Sandbox Code Playgroud)
我从终端安装了OpenAL库:
$ sudo apt-get install libopenal-dev
Run Code Online (Sandbox Code Playgroud)
一切顺利.现在我尝试创建一个简单的C++程序,其中包含库:
#include <iostream>
#include <AL/alut.h>
using namespace std;
int main(){
cout << "Hello, world" << endl;
}
Run Code Online (Sandbox Code Playgroud)
无论我怎么努力,我最接近找到如何使用g ++编译它是:
$ g++ test.cpp -lalut
Run Code Online (Sandbox Code Playgroud)
这会出现以下错误:
test.cpp:2:21: fatal error: AL/alut.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)
关于如何将OpenAL链接到我的项目的任何想法?我花了几个小时在谷歌上,答案似乎不存在.我可能做了一些根本错误的事情,因为我对Linux c ++开发不熟悉.谢谢.
编辑:更改以供参考:
$ g++ -lalut test.cpp
Run Code Online (Sandbox Code Playgroud)
至
$ g++ test.cpp -lalut
Run Code Online (Sandbox Code Playgroud)
(后面是正确的做法,我发错了).
您的错误消息表明您的编译器无法找到ALUT的头文件(一个实用工具包,可以更轻松地开始使用OpenAL开发).这可能是出于以下两个原因之一:
您根本没有安装库.在这种情况下,apt-get install请像使用OpenAL本身一样使用.
标头位于系统的某个位置,但不在默认的包含路径中.如果能够在文件系统上找到库,请确保使用该-I开关使g ++知道其include目录.
通常,当使用g ++(或MinGW用于重要的事项)链接到库时,编译工具链在编译期间需要有三件事情可用:
-I-L-l 通常在Linux上,前两个是在相应库包的安装过程中自动处理的.但是,如果您的库位于标准目录以外的其他位置,则必须明确指定include和library路径.
有关g ++用法的简要介绍,另请参见此处.
编辑:我意识到我花了一点时间摆弄我的答案,而你的问题已经解决了.但我希望上面的信息对你有用!
| 归档时间: |
|
| 查看次数: |
6952 次 |
| 最近记录: |