openal配置(更新)
一,安裝openal核心庫:
1,去openal官網下載OpenAL11CoreSDK。解壓后是一個exe文件,安裝后去安裝目錄D:/Program Files/OpenAL 1.1 SDK(你也可能安裝在其它目錄)看,會發現有如下幾個文件夾:
docs
include
libs
redist
samples
其中docs中是官方文檔,學習openal的主要資料。
2,開始安裝:
運行OpenAL 1.1/SDKredist/oalinst.exe,提示安裝成功。(我只知道這一步包含將openal32.dll拷貝到C:/windows/system32的動作,但確實還有其它一些作用,我不知道,反正安裝就行了)。
然后將include文件夾中所有頭文件拷貝到vc6.0的Include/AL/下(vc6.0的include中本身沒有AL這個文件夾,需要自己建立)。
將libs/Win32中的OpenAL32.lib拷貝到vc6.0的LIB文件夾下。
核心庫安完了。
二,安裝alut:
1,去openal官網下載freealut-1.1.0-bin,其中有下面幾個文件夾:
doc
examples
include
lib
2,開始安裝:
include文件夾中只有一個頭文件alut.h。
lib文件夾中有alut.dll和alut.lib兩個文件。
(1)將alut.h拷貝到vc6.0的Include/AL下。
(2)將alut.lib拷貝到vc6.0的LIB文件夾下。
(3)alut.dll則隨程序附帶(即放在你的工程目錄下)。
alut安完。
三,編譯器設置:
不要忘了將OpenAL32.lib和alut.lib添加到vc6.0的 工程->設置->連接 中的 "對象/庫模塊" 中去。
四,最后一點小麻煩:
做完了上面這些事情,我找了一個最簡單的openal程序進行測試,結果發生編譯錯誤說某些alut函數未定義。但我打開alut.h看到其中確實有這些函數的定義,看來看去,發現alut.h中有這樣一段代碼:
#if defined(_MSC_VER)
#include <alc.h>
#include <al.h>
#elif defined(__APPLE__)
#include <OpenAL/alc.h>
#include <OpenAL/al.h>
#else
#include <AL/al.h>
#include <AL/alc.h>
#endif
對宏指令不大懂,但是能猜到上面這段的意思是:
如果是微軟平臺,則
#include <alc.h>
#include <al.h>
如果是蘋果平臺,則
#include <OpenAL/alc.h>
#include <OpenAL/al.h>
如果是其它平臺,則
#include <AL/al.h>
#include <AL/alc.h>
顯然,我現在使用的是微軟平臺,因此編譯將進入
#include <alc.h>
#include <al.h>
這個分支,但是前面我們已經建立了AL文件夾,將al.h和alc.h都放入了其中。所以應該將它也改成
#include <AL/al.h>
#include <AL/alc.h>
就對了。
即將上面代碼改為:
#if defined(_MSC_VER)
#include <AL/alc.h>
#include <AL/al.h>
#elif defined(__APPLE__)
#include <OpenAL/alc.h>
#include <OpenAL/al.h>
#else
#include <AL/al.h>
#include <AL/alc.h>
#endif
然后編譯運行程序,哈哈,聽到呻吟了!
總結
以上是生活随笔為你收集整理的openal配置(更新)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开发之Android St
- 下一篇: Android开发之Java基础面试题抽