Hi, i'm using CodeLite on Ubuntu.
After I compile, I want to run my application but I can not.
This is the error:
error while loading shared libraries: liborxd.so: cannot open shared object file: Error 40
These are the files inside "bin" folder
cfg orxd.exe Virtual Fufy_d-debug.log
CreationTemplate.ini orxd.ini Virtual Fufy_d.exe
data orx.dll Virtual Fufy_d.ilk
gamedb.db orx.ini Virtual Fufy_d.ini
Interaction.ini orxp.dll Virtual Fufy_d.log
liborxd.so orxp.ini Virtual Fufy_d.pdb
liborxp.so res Virtual Fufy.exe
liborx.so SettingsTemplate.ini Virtual Fufy.ini
MainMenu.ini sqlite3.dll Virtual Fufy.pdb
orxd.dll VirtualFufy
In windows is running normally.
Any idea?
Comments
By default linux is not using the executable's folder to look for libraries, so you need to make sure you either put the liborx*.so in a folder that is inside your LD_LIBRARY_PATH variable (like /usr/lib, for example) or by actually using this flag when compiling your executable:
If you already did that and your program is finding the correct liborx*.so at runtime and it's still not working, it might be that they're not binary compatible (that would happen if you were using a version of gcc prior to 4.5.0 as liborx*.so is built with gcc 4.5.0 and this is not compatible with gcc 4.4.x, for example).
But if that were to be the problem, I'm sure you'd get errors at link time and not only at runtime.
Which version of orx are you using btw?
Let me know if this helps you finding your problem!
Cheers!