This is the list of changes I had to do to the Xcode project file in 1.3 to make it compile and link out of the box.
Removed these unused file referenes:
Engine
- CZBuffer2.cpp, CZBuffer2.h
- fast_atof.h
- GUIIcons.h
- ITriangleRenderer2.h
- IZBuffer2.h
libpng
- libpng.c
include
- SViewFrustrum.h
Added these new source files:
Engine
- CAnimatedMeshMD3.cpp
- CAnimatedMeshMD3.h
- CDefaultGUIElementFactory.cpp
- CDefaultGUIElementFactory.h
- CDepthBuffer.cpp
- CDepthBuffer.h
- CGUIColorSelectDialog.cpp
- CGUIColorSelectDialog.h
- CGUISpriteBank.cpp
- CGUISpriteBank.h
- CMD3MeshFileLoader.cpp
- CMD3MeshFileLoader.h
- CQuake3ShaderSceneNode.cpp
- CQuake3ShaderSceneNode.h
- CTRTextureBlend.cpp
- CTRTextureGouraudAlpha.cpp
- CTRTextureGouraudAlphaNoZ.cpp
- CTRTextureLightMapGouraud2_M4.cpp
- IBurningShader.cpp
- IBurningShader.h
- IDepthBuffer.h
libpng
- pngwrite.cpp
- pnggccrd.c. *NEW*
This should not be too hard and should enable you to compile 1.3 on MacOS X. I have not had the time to test it properly. If you own a Mac kindly help the Irrlicht team to test 1.3 and report bugs. I will upload my version of the project file as soon as I have tested some more.
There is another thread on this topic here that you might also want to read.
[MacOS X] Irrlicht 1.3 with Xcode
[MacOS X] Irrlicht 1.3 with Xcode
Last edited by jonasled on Sun Apr 08, 2007 4:16 pm, edited 1 time in total.
Hi,
Using this guide I can compile and run the examples on Release build, but when I change to Debug, I get the error:
/usr/bin/ld: build/Debug/libIrrlicht.a(jcapimin.o) has local relocation entries in non-writable section (__TEXT,__text)
Can anyone run in debug mode?
I am using XCode 2.4.1 on a MacBook Pro.
Best Regards,
Tiago Baptista
Using this guide I can compile and run the examples on Release build, but when I change to Debug, I get the error:
/usr/bin/ld: build/Debug/libIrrlicht.a(jcapimin.o) has local relocation entries in non-writable section (__TEXT,__text)
Can anyone run in debug mode?
I am using XCode 2.4.1 on a MacBook Pro.
Best Regards,
Tiago Baptista
If you build for Intel, you may also have to add pnggccrd.c. Symptom is an undefined symbol, I forget the name, but it had "mmx" in it. There may be an #ifdef to remove that dependency, I didn't look.
No idea if using the MMX accelerated code actually works on an Intel mac, although I do build Universals I don't have a box to test them on.
Note that the mmx undefined symbol doesn't show up if you do a PPC only build. Also, it may not show up if you do a static library build (I build .dylib, I don't recall if the stock project file in the Irrlicht distribution has that or not).
*edit*
Oh, and for the record, since I don't know if any of the project committers have a Mac to test on: I've got 1.3 built and running successfully on a 10.4.9 PPC system. The only platform-specific issue was needing to update the XCode file, which doesn't take long - esp. if you use cmd-A to "select all" when adding files to the include and engine folders. I'd send in mine but its hacked up quite a bit.
No idea if using the MMX accelerated code actually works on an Intel mac, although I do build Universals I don't have a box to test them on.
Note that the mmx undefined symbol doesn't show up if you do a PPC only build. Also, it may not show up if you do a static library build (I build .dylib, I don't recall if the stock project file in the Irrlicht distribution has that or not).
*edit*
Oh, and for the record, since I don't know if any of the project committers have a Mac to test on: I've got 1.3 built and running successfully on a 10.4.9 PPC system. The only platform-specific issue was needing to update the XCode file, which doesn't take long - esp. if you use cmd-A to "select all" when adding files to the include and engine folders. I'd send in mine but its hacked up quite a bit.
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Right now no one of the active developers has a Mac (AFAIK). So we have to rely on someone else to provide the project.
The libpng problem might be fixable with a define which I also put into the Linux Makefile: -DPNG_NO_MMX_CODE
There seems to be a bug in the latest libpng code which confuses on some defines and ifdef's. I hope they will provide a new version soon.
The libpng problem might be fixable with a define which I also put into the Linux Makefile: -DPNG_NO_MMX_CODE
There seems to be a bug in the latest libpng code which confuses on some defines and ifdef's. I hope they will provide a new version soon.
ssexton wrote:If you build for Intel, you may also have to add pnggccrd.c. Symptom is an undefined symbol, I forget the name, but it had "mmx" in it. There may be an #ifdef to remove that dependency, I didn't look.
Yes, I have also noticed this. Thanks for suggesting a fix to this problem. It has been bugging me for some time.
MMX/SSE should work on Intel Macs, but I'm not sure about how Xcode handles that. MMX/SSE should replace Altivec code. Perhaps you need Intel compilers to make it work. Like you I only have a PPC Mac. One of our team members have an Intel Mac, so I will have him test my build. When I have fixed all problems I will upload my project file, which is pretty clean and could be included with the official 1.3 download package.ssexton wrote:No idea if using the MMX accelerated code actually works on an Intel mac, although I do build Universals I don't have a box to test them on.
Hi there, I managed to stumble through this process a couple of weeks back and ended up with something that works for me, but probably has the problems mentioned here.
http://www.aibs.org.uk/kosmos/irrlicht- ... 19_OSX.zip
Here, if it helps anyone.
Cheers,
David.
http://www.aibs.org.uk/kosmos/irrlicht- ... 19_OSX.zip
Here, if it helps anyone.
Cheers,
David.