Jump to content
  • Advertisement
Sign in to follow this  
Myth000

BC++: OpenAL unresolved externals.. odd *SOLVED*

This topic is 4842 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Ok.. so either if I use the latest beta of OpenAL or the latest stable build I get these unresolved externals as linking errors:
alutLoadWAVFile
alutUnLoadWAVFile
alutExit
I use Borland C++ Builder 6. I've used the coff2omf tool for all libaries that were in the SDK and link against them:
#pragma comment(lib, "BOR_OpenAL32.lib")
#pragma comment(lib, "BOR_ALut.lib")
It does link, because when I leave it out more errors appear. If it matters, here is the code I use to load the wav file. It's quite straight from the openAL demo. That demo won't compile for me too.
    // Variables to load into.
    ALenum format;
    ALsizei size;
    ALvoid* data;
    ALsizei freq;
    ALboolean loop;

    // Load wav data into buffers.
    alGenBuffers(NUM_BUFFERS, Buffers);

    if (alGetError() != AL_NO_ERROR)
        return AL_FALSE;

    alutLoadWAVFile("my relative path is here", &format, &data, &size, &freq, &loop);
    alBufferData(Buffers[BATTLE], format, data, size, freq);
    alutUnloadWAV(format, data, size, freq);



Did anyone else have the same error, and fixed it? If so how? Thank you for your help. [Edited by - Myth000 on August 18, 2005 9:14:09 AM]

Share this post


Link to post
Share on other sites
Advertisement
I've been exactly where you are, so here's the good and bad news.

Okay, time for the bad news. Borland C++ Builder 6 cannot use ALUT. It's a COFF static library (which means coff2omf won't work), and unless you get the OpenAL source code for it, you're pretty much screwed.

The good news is you can actually get the source code off of CVS for OpenAL. At least, you used to be able to...not sure about it anymore. If you can't, you'll just have to do it by hand. It's not as difficult as it sounds though. There's actually a tutorial here at GameDev.net to help you load WAV files. Not very accurate though...best to get an "official" file format document for it and do your best. I did it, and I'm not a very good programmer. ;) I'd give you source code, but I lost it a few days ago thanks to Best Buy.

Sorry, and good luck.

Share this post


Link to post
Share on other sites
yes you can get the source from cvs, though you would have to make borland project files or import them somehow:

http://www.openal.org/downloads.html
Quote:

Note: There are prepared SDKs available from Creative and NVIDIA (linked below) which come in very handy for Windows and Macintosh programmers. If you are running Linux, you may already have OpenAL on your system -- if not, then you'll want to download from CVS or a package repository (one is linked below). For all operating systems, there is a Programmer's Guide available on the Creative developer website which is recommended reading.

OpenAL Source Code:
The OpenAL source code is available from the following location. Here are the CVS access parameters:

From the command line, you can do the following:

cvs -d:pserver:guest@opensource.creative.com:/usr/local/cvs-repository login
(use password "guest")
cvs -d:pserver:guest@opensource.creative.com:/usr/local/cvs-repository co openal

If you are using a GUI front end for CVS, use the following parameters:

authentication = pserver
account = guest
password = guest
server = opensource.creative.com
path = /usr/local/cvs-repository

Use the client's "login" function with password "guest" and then check out module "openal".

CVS Tags
Here are the relevant current CVS tags:

* HEAD contains the latest 1.1 code for all implementations (not guaranteed buildable or complete)
* Linux_Spec1-0 for the last Linux code before the transition towards OpenAL 1.1 began
* MacOSX1-2_Spec1-0 for the last MacOS X code before the transition towards OpenAL 1.1 began
* Win1-1-2_Spec1-0 for the last Windows code before the transition towards OpenAL 1.1 began

To use one of these tags, modify the checkout command as follows:
cvs -d:pserver:guest@opensource.creative.com:/usr/local/cvs-repository co -r TAG openal

Share this post


Link to post
Share on other sites
Ok thans guys. I'm trying to recompile the complete openal source.
It's alot :)
Anyway, compiling went quite alright after some changes.
Now I'm busy getting some linking libs.

Share this post


Link to post
Share on other sites
Ok, that was doing too much work for nothing. And wav's load fast anyway.
So, I checked that article on loading wav files to work for OpenAL and create an wrapper for OpenAL. Works :D

[Edited by - Myth000 on August 18, 2005 4:05:01 PM]

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!