#6437 closed defect (fixed)
SYMBIAN: remove macro conflict in system headers
Reported by: | SF/superzanac | Owned by: | anotherguest |
---|---|---|---|
Priority: | normal | Component: | Engine: TsAGE |
Version: | Keywords: | build | |
Cc: | Game: | Blue Force |
Description
Fix doesn't work. I knew only one solution - to comment "#define remove(x) unlink(x)" and compile. This macro uses many projects and many libc variants. Just google it. Also this error has Avalanche engine. Maybe need to start thread on forum?
Ticket imported from: #3615153. Ticket imported from: bugs/6437.
Change History (18)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
When I add #ifdef __SYMBIAN32__ #undef remove #endif // remove in core.h and graphics.h I got this errors : In file included from /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_logic.h:28:0, from /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_scenes0.h:27, from /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_scenes0.cpp:23: /Symbian/Projects/SDL/scummvm/engines/tsage/core.h: In member function 'void TsAGE::SceneObjectList::remove(TsAGE::SceneObject*)': /Symbian/Projects/SDL/scummvm/engines/tsage/core.h:774:12: error: 'class TsAGE::SynchronizedList<TsAGE::SceneObject*>' has no member named 'remove' In file included from /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_logic.h:29:0, from /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_logic.cpp:24: /Symbian/Projects/SDL/scummvm/engines/tsage/scenes.h: In member function 'void TsAGE::Game::removeHandler(TsAGE::GameHandler*)': /Symbian/Projects/SDL/scummvm/engines/tsage/scenes.h:124:53: error: 'class TsAGE::SynchronizedList<TsAGE::GameHandler*>' has no member named 'remove' In file included from /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_logic.h:29:0, from /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_scenes0.h:27, from /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_scenes0.cpp:23: /Symbian/Projects/SDL/scummvm/engines/tsage/scenes.h: In member function 'void TsAGE::Game::removeHandler(TsAGE::GameHandler*)': /Symbian/Projects/SDL/scummvm/engines/tsage/scenes.h:124:53: error: 'class TsAGE::SynchronizedList<TsAGE::GameHandler*>' has no member named 'remove' /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_scenes0.cpp: In member function 'virtual bool TsAGE::BlueForce::Scene60::MirandaCard::startAction(TsAGE::CursorType, TsAGE::Event&)': /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_scenes0.cpp:701:27: error: 'class TsAGE::SceneItemList' has no member named 'remove' /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_scenes0.cpp: In member function 'virtual bool TsAGE::BlueForce::Scene60::TicketBook::startAction(TsAGE::CursorType, TsAGE::Event&)': /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_scenes0.cpp:723:27: error: 'class TsAGE::SceneItemList' has no member named 'remove' make[1]: *** [\Symbian\S60_5th_Edition_SDK_v1.0\EPOC32\BUILD\Symbian\Projects\SDL\scummvm\backends\platform\symbian\S60v3\SCUMMVM_TSAGE\GCCE\urel\blueforce_scenes0.o] Error 1 make: *** [TARGETSCUMMVM_TSAGE] Error 2 /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_logic.cpp: In member function 'virtual void TsAGE::BlueForce::FocusObject::remove()': /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_logic.cpp:664:25: error: 'class TsAGE::SceneItemList' has no member named 'remove'
comment:4 by , 11 years ago
dreammaster, my list was rejected because "Non-members are not allowed to post messages to this list."
comment:5 by , 11 years ago
Summary: | remove macro conflict in system headers → SYMBIAN: remove macro conflict in system headers |
---|
comment:6 by , 11 years ago
Owner: | set to |
---|
comment:7 by , 11 years ago
superzanac: As your messages are now appearing on the scummvm-devel list, I assume that this has been fixed.
comment:8 by , 11 years ago
As an FYI, this bug is a continuation of a previous bug #3615142 - "SYMBIAN: remove macro conflict in system headers": https://sourceforge.net/tracker/index.php?func=detail&aid=3615142&group_id=37116&atid=418820
Which was closed without the fix being confirmed by the user, and with comments closed. This has resulted in a duplicate bug being opened.
Developers, can we try to avoid this in future please.. and Users, can you try to avoid doing this as well. As the owner of a bug, IIRC you can reopen it... or ask a developer/bug admin to do this.
comment:9 by , 11 years ago
anotherguest: As our Symbian porter, have you encountered this issue?
Or is this due to superzanac using "Sourcery CodeBench Lite for ARM SymbianOS 4.6.3", rather than the Nokia S60 Symbian SDK listed on: http://wiki.scummvm.org/index.php/Compiling_ScummVM/Symbian
superzanac: Exactly where did you download your toolchain? It should be from here: http://developer.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-af0631419e9c/S60_All_in_One_SDKs.html
comment:10 by , 11 years ago
I only had this problem on the tsage engine which I solved by changing the symbian define when building tsage. I guess that remove is not used as unlink in many other projects anyway so the define patch in symbian H files could be a valid fix.
comment:11 by , 11 years ago
tdhs, yes I downloaded S60 5th Edition SDK for Symbian OS . GCCE was downloaded from Mentor Graphics site. Forget about 4.6.3 because it can build only Symbian C++ app but not standart C/open C++ Helloworlds from SDK. Now I'm using GCCE 4.4.1
comment:13 by , 11 years ago
For ScummVM I have always been using c++ (GCC) 3.4.3 (release) (CodeSourcery ARM Q1C 2005) which works fine in most cases. (Which is included in all official Nokia SDKs). I have noticed that ScummVM has been using remove more and more as engine development has been progressing. I usually also revert to some patching for some engines to get them building. When it comes to SDL version, the version I originally ported SDL to Symbian for usage with ScummVM so various key mappings included there. I think I need to DL 1.7.0 pre and test also :-)
comment:14 by , 11 years ago
anotherguest,Ok. I describe my errors wit some engines in symbian forum =)
comment:15 by , 11 years ago
It's impossible to fix these errors. I add this fix to every header(include blue_force, ringword 1&2) and still have 2 errors : In file included from /Symbian/Projects/SDL/scummvm/engines/tsage/tsage.h:35, from /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_dialogs.cpp:28: /Symbian/Projects/SDL/scummvm/engines/tsage/core.h: In member function 'void TsAGE::SceneObjectList::remove(TsAGE::SceneObject*)': /Symbian/Projects/SDL/scummvm/engines/tsage/core.h:774: error: 'class TsAGE::SynchronizedList<TsAGE::SceneObject*>' has no member named 'remove' In file included from /Symbian/Projects/SDL/scummvm/engines/tsage/globals.h:33, from /Symbian/Projects/SDL/scummvm/engines/tsage/blue_force/blueforce_dialogs.cpp:32: /Symbian/Projects/SDL/scummvm/engines/tsage/scenes.h: In member function 'void TsAGE::Game::removeHandler(TsAGE::GameHandler*)': /Symbian/Projects/SDL/scummvm/engines/tsage/scenes.h:128: error: 'class TsAGE::SynchronizedList<TsAGE::GameHandler*>' has no member named 'remove'
Please, rename this function. I wish add symbian support to buildbod.
comment:17 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Better to post a message to the development list - scummvm-devel@lists.sourceforge.net with all the details of the issue. Whilst I could do a global rename of the 'remove' method, I still can't help but feel that it's such a common word that we look for a Symbion fix rather than doing large scale changes to the engines just for Symbion.