I’m currently trying to integrate FMOD into our engine but I’m having a few problems.
The default installation folder for FMOD seems to be to a folder named like so "FMOD Programmers API XXX" where XXX is the platform (ie, PS3). I’d like to reference the FMOD includes and libs in my engine’s project file using an environment variable. So in Visual Studio in the "Additional Library Directories" box I’d like to enter:
$(PHYRE_ENGINE_FMOD)/FMOD Programmers API PS3/api/lib
The problem here is that because "FMOD Programmers API PS3" contains spaces Visual Studio gets confused and fails to link. It looks like Visual Studio doesn’t allow for quoted paths in the "Additional Library Directories" either so I can’t fix it that way. I can put something like:
"$(PHYRE_ENGINE_FMOD)/FMOD Programmers API PS3/api/lib/fmodex.a"
in the "Additional Dependencies" box but that’s not a good solution if a developer disables or doesn’t even want FMOD functionality in the engine as the link will fail due to missing libs.
Can anyone see a way around this? Have any other developers suffered this same problem? This problem would be solved if the original install directory didn’t contain spaces. Is there any chance that could be changed in future versions?
Leading on from 1), why doesn’t the naming convention of the PS3 libs conform to the usual standard of libfmodex.a? Not having the "lib" at the start means that you can’t use the #pragma comment(lib method of linking libraries.
I’m using FMOD v4.32.08.
- tfields asked 7 years ago
Our strategy is to install FMOD to one location in source control (which we call the Import folder) and then use branches to map that data into the actualy game repository. That let’s you change directory names, filter out stuff like example projects, rename libs, etc. It also makes it easier to do 3 way merges should you need to make any changes to the source (which you do in the game repository). Definitely recommend trying that out.
PS – Visual Studio definitely allows spaces in Additional Library Directories. We use that here a lot. Perhaps you did something subtly wrong?
- audiodev answered 7 years ago
Please login first to submit.