Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AuxiliaryEffect function is not exported #23

Open
zoumi opened this issue Dec 31, 2019 · 1 comment
Open

AuxiliaryEffect function is not exported #23

zoumi opened this issue Dec 31, 2019 · 1 comment

Comments

@zoumi
Copy link

zoumi commented Dec 31, 2019

image
It seem that AuxiliaryEffect function is not exported by OpenAL?

In the example code of OpenAL,we can see:

		alGenAuxiliaryEffectSlots = (LPALGENAUXILIARYEFFECTSLOTS)alGetProcAddress("alGenAuxiliaryEffectSlots");
		alDeleteAuxiliaryEffectSlots = (LPALDELETEAUXILIARYEFFECTSLOTS)alGetProcAddress("alDeleteAuxiliaryEffectSlots");
		alIsAuxiliaryEffectSlot = (LPALISAUXILIARYEFFECTSLOT)alGetProcAddress("alIsAuxiliaryEffectSlot");
		alAuxiliaryEffectSloti = (LPALAUXILIARYEFFECTSLOTI)alGetProcAddress("alAuxiliaryEffectSloti");
		alAuxiliaryEffectSlotiv = (LPALAUXILIARYEFFECTSLOTIV)alGetProcAddress("alAuxiliaryEffectSlotiv");
		alAuxiliaryEffectSlotf = (LPALAUXILIARYEFFECTSLOTF)alGetProcAddress("alAuxiliaryEffectSlotf");
		alAuxiliaryEffectSlotfv = (LPALAUXILIARYEFFECTSLOTFV)alGetProcAddress("alAuxiliaryEffectSlotfv");
		alGetAuxiliaryEffectSloti = (LPALGETAUXILIARYEFFECTSLOTI)alGetProcAddress("alGetAuxiliaryEffectSloti");
		alGetAuxiliaryEffectSlotiv = (LPALGETAUXILIARYEFFECTSLOTIV)alGetProcAddress("alGetAuxiliaryEffectSlotiv");
		alGetAuxiliaryEffectSlotf = (LPALGETAUXILIARYEFFECTSLOTF)alGetProcAddress("alGetAuxiliaryEffectSlotf");
		alGetAuxiliaryEffectSlotfv = (LPALGETAUXILIARYEFFECTSLOTFV)alGetProcAddress("alGetAuxiliaryEffectSlotfv");

So,these functions are dynamic called?

@daemonjax
Copy link

daemonjax commented Apr 8, 2020

EDIT: I just built openal-soft from source (using visual studio community 2017) instead of downloading and using the pre-built binaries from the site... Then it "just worked" -- cargo build without a hiccup. Also, commenting out the offending rust code worked as well (but building openal-soft from source is the better option, of course, since that allows me to include the reverb code and I can ensure it's compiled with sse2/3/4.1). Not sure what's up with the prebuilt openal-soft files -- but it looks like they were built with mingw because it includes a .def file, and those 7 functions were missing for whatever reason.

MY ORIGINAL RESPONSE:
I get something like this when trying to build ears using msvc toolchain -- I know we're supposed to use the gnu toolchain, but I'd prefer using msvc. I also suspect these 7 functions are going to be in the dll, but I'm unsure what I'd need to do next to have ears build.

= note:    Creating library z:/rust_target\debug\deps\ears-4abd280d97776022.dll.lib and object z:/rust_target\debug\deps\ears-4abd280d97776022.dll.exp
         ears-4abd280d97776022.ears.5pv1cvf6-cgu.12.rcgu.o : error LNK2019: unresolved external symbol alDeleteEffects referenced in function _ZN75_$LT$ears..reverb_effect..ReverbEffect$u20$as$u20$core..ops..drop..Drop$GT$4drop17h8d092cf066574a6dE
         ears-4abd280d97776022.ears.5pv1cvf6-cgu.12.rcgu.o : error LNK2019: unresolved external symbol alDeleteAuxiliaryEffectSlots referenced in function _ZN75_$LT$ears..reverb_effect..ReverbEffect$u20$as$u20$core..ops..drop..Drop$GT$4drop17h8d092cf066574a6dE

         ears-4abd280d97776022.ears.5pv1cvf6-cgu.14.rcgu.o : error LNK2019: unresolved external symbol alGenAuxiliaryEffectSlots referenced in function _ZN4ears6openal2al25alGenAuxiliaryEffectSlots17hc33cd3f54257bc3dE
         ears-4abd280d97776022.ears.5pv1cvf6-cgu.14.rcgu.o : error LNK2019: unresolved external symbol alGenEffects referenced in function _ZN4ears6openal2al12alGenEffects17h59203129aec02b0aE
         ears-4abd280d97776022.ears.5pv1cvf6-cgu.14.rcgu.o : error LNK2019: unresolved external symbol alAuxiliaryEffectSloti referenced in function _ZN4ears6openal2al22alAuxiliaryEffectSloti17h214d42f821d67139E
         ears-4abd280d97776022.ears.5pv1cvf6-cgu.14.rcgu.o : error LNK2019: unresolved external symbol alEffecti referenced in function _ZN4ears6openal2al9alEffecti17he9679966d4595dfaE
         ears-4abd280d97776022.ears.5pv1cvf6-cgu.14.rcgu.o : error LNK2019: unresolved external symbol alEffectf referenced in function _ZN4ears6openal2al9alEffectf17h215f1800c17a4ba2E
         z:/rust_target\debug\deps\ears-4abd280d97776022.dll : fatal error LNK1120: 7 unresolved externals

I did test using the gnu toolchain (following the directions from the main page), and it does work that way -- I'd just rather stick with the msvc toolchain. I may just try commenting out the code that references those 7 functions since it just looks like it's for effects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants