Building CEGUI 0.6 on Mac OS X Leopard

Forum for general chit-chat or off-topic discussion.

Moderators: CEGUI MVP, CEGUI Team

tobi11
Just popping in
Just popping in
Posts: 5
Joined: Wed May 28, 2008 20:20

Building CEGUI 0.6 on Mac OS X Leopard

Postby tobi11 » Wed May 28, 2008 20:53

Hi!
I am trying to build CEGUI on my Mac with 10.5 Leopard. After a while I found the various frameworks which are needed, but now Xcode shows the following errors while linking:
"CEGUI::Tree::WidgetTypeName", referenced from:
__ZN5CEGUI4Tree14WidgetTypeNameE$non_lazy_ptr in CEGUIBaseFactories.o

"CEGUI::GroupBox::WidgetTypeName", referenced from:
__ZN5CEGUI8GroupBox14WidgetTypeNameE$non_lazy_ptr in CEGUIBaseFactories.o

"CEGUI::Tree::Tree(CEGUI::String const&, CEGUI::String const&)", referenced from:
CEGUI::TreeFactory::createWindow(CEGUI::String const&)in CEGUIBaseFactories.o

"CEGUI::GroupBox::GroupBox(CEGUI::String const&, CEGUI::String const&)", referenced from:
CEGUI::GroupBoxFactory::createWindow(CEGUI::String const&)in CEGUIBaseFactories.o

"CEGUI::SimpleTimer::currentTime()", referenced from:
CEGUI::SimpleTimer::SimpleTimer()in CEGUISystem.o
CEGUI::SimpleTimer::restart() in CEGUISystem.o
CEGUI::SimpleTimer::elapsed() in CEGUISystem.o

ld: symbol(s) not found
collect2: ld returned 1 exit status
I have no idea what to do to fix this. Maybe somebody of you can help me?
thanks

tobi11

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Thu May 29, 2008 08:29

Hi, and welcome :)

The XCode projects are out of date and need updating. Currently none of us have an Apple Mac to use, but I am on the verge (yes, literally!) of getting some kind of Mac, though I have still have to decide the exact route I want to take as far as that goes - the outcome of this should be within weeks (meaning, not months or years!)

Ok. The link errors pertaining to the Tree Widget and group box are because the XCode project will be missing the files for those widgets (also the Falagard window renderer library may be missing some similarly named files), so you could add those in at the appropriate places, and it should get you over that particular issue.

For the timer errors, see this post: http://www.cegui.org.uk/phpBB2/viewtopic.php?t=3247 (I will be committing the fix for this later today).

HTH

CE.

tobi11
Just popping in
Just popping in
Posts: 5
Joined: Wed May 28, 2008 20:20

Postby tobi11 » Thu May 29, 2008 10:40

Okay thanks.
Here are the changes I had to make, to build the CEGUIBase Target (only CEGUI.framework). I will test the other targets later.

First, I had to rename include/config.h.in to include/config.h.
Then I changed in the Project Info:
Gerneral: Cross-Develop Using Target SDK to 10.5
Build: Mac OS X Deployment Target to 10.5

Files to add to the Project:
  • include/CEGUIScriptWindowHelper.h
  • include/CEGUITask.h
  • include/config.h
  • include/elements/CEGUIClippedContainer.h
  • include/elements/CEGUIGroupBox.h
  • include/elements/CEGUITree.h
  • include/elements/CEGUITreeItem.h
  • src/CEGUIScriptWindowHelper.cpp
  • src/elements/CEGUIGroupBox.cpp
  • isrc/elements/CEGUITree.cpp
  • src/elements/CEGUITreeItem.cpp
  • src/elements/CEGUITreeProperties.cpp
  • WindowRenderSets/Falagard/include/FalTree.h
  • WindowRenderSets/Falagard/include/FalTree.cpp
I don't know if they are all necessary, but sometimes they will be needed for sure, so I added them all. In ScriptingModules/CEGUILua/tolua++/ and ScriptingModules/CEGUILua/tolua++bin/ are even more files, but I don't have the Lua.framework for now, so I left them.
The next things I had to do to get it work:
  • Choose CEGUIBase as Target
  • Fix this
Finally I had to tell Xcode that he has to compile a few more files for CEGUIBase (set the hook after the filename). The following files are needed:
  • CEGUIGroupBox.h
  • CEGUIGroupBox.cpp
  • CEGUITree.h
  • CEGUITree.cpp
  • CEGUITreeItem.h
  • CEGUITreeItem.cpp
  • CEGUITreeProperties.h
  • CEGUITreePropertie.cpp

I hope this will help you to update the Xcode files.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Thu May 29, 2008 17:45

Hi,

Thanks for the useful information, it should prove most helpful once I get my hands on a Mac of some description :twisted:

CE

tobi11
Just popping in
Just popping in
Posts: 5
Joined: Wed May 28, 2008 20:20

Postby tobi11 » Fri May 30, 2008 21:44

So I have successfully compiled a few more targets.
Here are the additional changes I had to make:

CEGUIFalagardWRBase:
Add faltree.cpp to the source which have to be compiled.

CEGUITinyXMLParser & CEGUIFreeImageImageCodec & CEGUITgaImageCodec:
All the changes have to be made for every target in the project Infos.
Disabling Instruction Scheduling
Disable Precompile Prefix Header
Delete the specified Prefix Header

For the other Targets I don't have the frameworks which are needed. If I get them, I will test them too.

Jon
Just popping in
Just popping in
Posts: 7
Joined: Mon Jun 02, 2008 04:07

Postby Jon » Sat Jun 07, 2008 16:45

Depending on your Mac needs, an emulator like PearPC might be a good way of testing CEGUI without buying a Mac. You would still need to buy the software, but we are talking a lot less money.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Postby CrazyEddie » Sat Jun 07, 2008 18:53

I'd previously played with PearPC back before the days of the Intel Mac, I was really impressed, though the speed was an issue, though had not given it much thought since then.

Now for a brief history of CE's Mac journey:

I'd been considering the possibility of me getting a Mac for a few years, one of the reasons I hadn't was to avoid being "the guy that does everything" as far as CEGUI goes (slight exaggeration, but hey) - however, due to the large changes CEGUI is going through in the upcoming 0.7.0 it has become rather important to have some means of testing properly on the Mac, without having to worry about someone else being too busy or unavailable for long periods of time.

Myself and scriptkid kind of discussed this a bit, and then he links me to the promo for OS X Leopard - which was really, really impressive. Since then I've done various research and reading; I pretty much made the final decision last week to buy an iMac - which I ordered yesterday, and anticipate receiving early next week.

So, once I'm up to speed on a few things, it should be all systems go as far as Mac support :D

CE.


Return to “Offtopic Discussion”

Who is online

Users browsing this forum: No registered users and 50 guests