I’m getting the following error trying to build a 64-bit application on ubuntu64 10.04 LTS that calls fmodex functions:
ld cannot find -lfmodex
This is the only build error. No other libraries fail to build, and the 32-bit implementation of my application links in fmodex just fine.
The build configurations of the 32-bit and 64-bit applications are virutally identical, except all 32-bit applications link to libraries in the /usr/lib32 directory, and 64-bit applications link to libraries in the /usr/lib directory.
In my attempt to create a 64-bit executable, I put the 64-bit .so library files into the /usr/lib/fmodex directory. I made two sets of links to the long-named .so files, so the /usr/lib/fmodex directory contains the following:
libfmodex64-4.40.01.so
libfmodexL64-4.40.01.so
libfmodex.so -> libfmodex64-4.40.01.so
libfmodexL.so -> libfmodexL64-4.40.01.so
libfmodex64.so ->libfmodex64-4.40.01.so
libfmodexL64.so ->libfmodexL64-4.40.01.so
Any ideas why I’m having this problem?
My ubuntu64 10.04 LTS development system is codeblocks and my application is written in C.
LATER: Sigh. My fault. Apparently a year or so ago I was experimenting with different versions of fmodex and created a /usr/lib32/fmodex for that purpose (to distinguish from /usr/lib32 directory for one of the versions). That got me confused and got me to create /usr/lib/fmodex for the 64-bit libraries. Of course that’s wrongo because the convention on the library side is to put everything into the /usr/lib directory, not create a separate application-specific directory inside as is standard on the .h (include) side.
- bootstrap asked 6 years ago
- You must login to post comments
Please login first to submit.