das_j
February 24, 2013, 9:29pm
1
Is there a way to use PhysX with MinGW?
I’m currently trying but I get a linking error:
obj/Test.o:Test.cpp:(.text+0x2e4): undefined reference to `physx::PxDefaultErrorCallback::~PxDefaultErrorCallback()'
obj/Test.o:Test.cpp:(.text+0x32d): undefined reference to `physx::PxDefaultErrorCallback::PxDefaultErrorCallback()'
My command line:
g++ -Llib -obin/Test.exe obj/Test.o -lopengl32 -lfreeglut -lglu32 -lPhysX3_x86 -lPhysX3Common_x86 -lPhysX3Extensions -lPhysXProfileSDK -lPhysX3Extensions
And finally my code: http://pastebin.com/aL5yBCgj
How do I fix this linking issue? I really don’t want to switch to MSVC.
Hi,
The PhysX Android(ARM) binaries can be built with MinGW, so it should also work for x86.
PxDefaultErrorCallback should be in PhysX3Extensions.
Check that you built PhysX3Extensions and that it is in the search path (source available).
Use -Wl,--start-group YOUR_LIBS -Wl,--end-group to frame your -l list. This resolves interdependencies between the libraries.
das_j
February 27, 2013, 5:06pm
3
Hey,
Thank you for your answer.
PhysX3Extensions.lib is in search path and nm found the constructor and destructor. The --start-group is a great idea but dosen’t fix this problem.
I got another idea: I just wrote an own simple error callback. It compiled! But if I start the program, it crashes with exit code -1073741819.
How do I fix this issue?
das_j
February 28, 2013, 5:33pm
4
Found the error: the MinGW ABI may be incompatible with the libraries. Moved discussion to [url]MinGW libraries - Physics Modeling (closed) - NVIDIA Developer Forums