[SOLVED] Audio Engine module not present in Qt 5.3.2 windows installation
-
Hello,
I tried to migrate to Windows 7 a small development done on Mac OS X with a user compiled version of Qt 5.3.1.
This small application use QtAudioEngine module and I discovered that the module is not present in Qt 5.3.2 Windows installation (the importation of QtAudioEngine module in Qt creator lead to a compilation error).The qestions are :
Is it normal, do I need to compile my own version of Qt in Windows in order to have this module ?
Maybe QtAudioEngine is not available on Windows 7 ?Thanks by advance for your help.
Best regards -
Hi and welcome to devnet,
AFAIK, there's no such limitation for QtAudioEngine. Are you sure your windows installation is complete ?
-
Hi,
Thanks for your reply.
I think so. I kept what is proposed by the installation tool.
I tried to use the maintenance tool to verify if the installation was not complete but there are neither QtAudioEngine nor QtMultimedia references in the tree.
It seems that all the needed dll for AudioEngine are well installed, only the qml module is missing (no audioengine folder in <installdir>\5.3\msvc2013\qml...) -
Hello,
After trying to recompile the application from either sources download or git, AudioEngine module (from QtMultimedia imports) compilation (and so installation) is only activated if Openal library is installed. (it seems that this library is provided by default in Mac OS)
In order to compile AudioEngine on windows (maybe not the cleanest method)
-
Compile Qt form git.
-
Download Openal sdk and dll :
http://www.openal.org/creative-installers/OpenAL11CoreSDK.zip
http://www.openal.org/creative-installers/oalinst.zip -
modify file imports.pro in qt5\qtmultimedia\src\imports ( by removing config_openal in front of SUBDIRS += audioengine)
-
In qt5\qtmultimedia\src\imports\audioengine add the two following lines in audioengine.pro file :
INCLUDEPATH += <your openal sdk installation include path)
LIBS += -L<your openal sdk installation library path) -lOpenAL32- then generate Makefile by executing in the same directory:
qmake -makefile -o Makefile audioengine.pro
+then generate audioengine running nmake.
bye
-
-
Then, sorry I've mixed it with another part of QtMultimedia.
However, nice you found out and thanks for sharing !
Can you also please update thread title prepending [solved] so other forum users may know a solution has been found :)
-
I have been trying to compile Qt on mac for couple of days, managed to compile it for Desktop now compiling for Android I get same problem as you did
- Configured using
./configure -developer-build -xplatform android-g++ -android-ndk /Users/ashokjaiswal/Development/android-ndk-r9d -android-sdk /Users/ashokjaiswal/Development/android-sdk-macosx -android-toolchain-version 4.8 -android-ndk-host darwin-x86_64 -nomake tests -nomake examples -opensource
Since OS X comes preinstalled with openAL in /System/Library/Frameworks/OpenAL.framework/ and audioengine.pro already have following
win32: LIBS += -lOpenAL32
unix:!mac:!blackberry: LIBS += -lopenal
blackberry: LIBS += -lOpenAL
mac: LIBS += -framework OpenAL
mac: DEFINES += HEADER_OPENAL_PREFIXThis should have compiled just fine however i had include error for al.h so I added the INCLUDEPATH for system directory folder however after that there are linker problems since it can't find the library (rm-linux-androideabi/bin/ld: error: cannot find -lopenal)
-anyone know why multimedia libraries not recognising "mac:" in above settings?
-how do i setup for openal librarythanks
-
I have been trying to compile Qt on mac for couple of days, managed to compile it for Desktop now compiling for Android I get same problem as you did
- Configured using
./configure -developer-build -xplatform android-g++ -android-ndk /Users/ashokjaiswal/Development/android-ndk-r9d -android-sdk /Users/ashokjaiswal/Development/android-sdk-macosx -android-toolchain-version 4.8 -android-ndk-host darwin-x86_64 -nomake tests -nomake examples -opensource
Since OS X comes preinstalled with openAL in /System/Library/Frameworks/OpenAL.framework/ and audioengine.pro already have following
win32: LIBS += -lOpenAL32
unix:!mac:!blackberry: LIBS += -lopenal
blackberry: LIBS += -lOpenAL
mac: LIBS += -framework OpenAL
mac: DEFINES += HEADER_OPENAL_PREFIXThis should have compiled just fine however i had include error for al.h so I added the INCLUDEPATH for system directory folder however after that there are linker problems since it can't find the library (rm-linux-androideabi/bin/ld: error: cannot find -lopenal)
-anyone know why multimedia libraries not recognising "mac:" in above settings?
-how do i setup for openal librarythanks
-
A bit late but since i achieved to do what you want to do, here is my answer.
Your OpenAL library won't link because it's a clang compiled library targeting OS X and you are cross-compiling for Android so you need a gcc compiled library for Android. You can find it here : https://github.com/apportable/openal-soft
It is very easy to build, the notice is straightforward.
Then follow the steps described by 'joufflu', I just added DEFINES += HEADER_OPENAL_PREFIX in audioengine.pro but i'm not sure that's necessary.Do not forget to add the path to your libopenal.so you built previously in your project configuration Build Settings / Build Steps / Build Android APK / Additional Libraries.
It worked for me, hope it helps :)