zoukankan      html  css  js  c++  java
  • 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
    然后编译运行程序,哈哈,听到呻吟了!
  • 相关阅读:
    Arcmap软件报错:This application cannot run under a virtual machine arcmapr, 但是你并没有使用虚拟机
    Sql server 2008 作业失败通知邮件配置
    能drag和resize的DIV,目的是做一个类似于数据库视图设计器
    Type.GetType()与System.Web.Compilation.BuildManager.GetType()
    让你的实体字段和页面上的控件映射,自动绑定 ObjectBinding1.0
    利用Log Explor来恢复误用delete 、update了的数据
    破解版果冻手机动画主题for WM5 & WM6
    封装一个图片轮换的web控件
    利用Lucene.net对附件做搜索
    关于TransactionScope分布式事务在Oracle下的运作
  • 原文地址:https://www.cnblogs.com/frustrate2/p/2570287.html
Copyright © 2011-2022 走看看