-
- litzlbauer
- Posts: 5
- Joined:
LinkerError OgreBinding on Macos
I'm having troubles to compile NoesisGui with the OgreBinding on MacOS. It all comes down to a linker error when deriving from BaseFileSystem or BaseComponent:
To isolate the problem I used the OpenGl Integration sample from github without Ogre. (I also tried it with the NsGuiOgreBinding from github). I'm using NoesisGUI v1.1.14 (r4315). I attached the project.
I have read the post "Crash 0.9.9 - iOS 6.0 - iPad4 - Xcode 4.5" about changing the "NsTypeName" in TypeInfo.h but this didn't help.
Has anybody similar problems deriving from Base classes on MacOs?
Has anybody a Noesis with Ogre running on MacOs?
Thanks!
Wolfgang
Code: Select all
Undefined symbols for architecture i386:
"typeinfo for Noesis::File::BaseFileSystem", referenced from:
typeinfo for Noesis::Gui::OgreNsGuiFileSystem in OgreNsGuiFileSystem.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Code: Select all
namespace Noesis
{
namespace Gui
{
////////////////////////////////////////////////////////////////////////////////////////////////////
/// OgreFileSystem
////////////////////////////////////////////////////////////////////////////////////////////////////
class OgreNsGuiFileSystem: public File::BaseFileSystem
{
public:
/// Constructor
OgreNsGuiFileSystem(const NsChar* root);
/// Destructor
virtual ~OgreNsGuiFileSystem();
/// From IFileSystem
//@{
NsBool FileExists(const File::FileId& filename) const;
Ptr<Core::IStream> OpenRead(const File::FileId& filename) const;
//@}
private:
const NsChar* mRoot;
private:
NS_DECLARE_REFLECTION(OgreNsGuiFileSystem, File::BaseFileSystem)
};
}
}
I have read the post "Crash 0.9.9 - iOS 6.0 - iPad4 - Xcode 4.5" about changing the "NsTypeName" in TypeInfo.h but this didn't help.
Has anybody similar problems deriving from Base classes on MacOs?
Has anybody a Noesis with Ogre running on MacOs?
Thanks!
Wolfgang
- Attachments
-
- NsOgreOsX.zip
- (150.35 KiB) Downloaded 84 times
Re: LinkerError OgreBinding on Macos
Is RTTI enabled in your project?
Re: LinkerError OgreBinding on Macos
I see... you are using v1.1.
In v1.1 noesisGUI is compiled with RTTI disabled. We do this to optimize the binary size because we do not use RTTI at all in our code but it seems that this is problematic in GCC because you need to disable it in ALL binaries that derive from classes corresponding to the binary where RTTI is disabled. So, the solution in v1.1 is that you compile with RTTI disabled.
In v1.2, our binaries are compiled with RTTI enabled (the default setting) to avoid this problem.
In v1.1 noesisGUI is compiled with RTTI disabled. We do this to optimize the binary size because we do not use RTTI at all in our code but it seems that this is problematic in GCC because you need to disable it in ALL binaries that derive from classes corresponding to the binary where RTTI is disabled. So, the solution in v1.1 is that you compile with RTTI disabled.
In v1.2, our binaries are compiled with RTTI enabled (the default setting) to avoid this problem.
-
- litzlbauer
- Posts: 5
- Joined:
Re: LinkerError OgreBinding on Macos
Thanks for your fast reply. I would love to update to 1.2. But we need to ship pretty soon. Is 1.2 beta stable enough to ship a game? I also noticed that there is no Android and Linux version of the 1.2 version so far. Are these platforms still supported?
Re: LinkerError OgreBinding on Macos
Yes, they are supported. They will be included in the next beta.
If you want to stay with v1.1 is it an option compiling your project (Ogre included) without RTTI?
If you want to stay with v1.1 is it an option compiling your project (Ogre included) without RTTI?
-
- litzlbauer
- Posts: 5
- Joined:
Re: LinkerError OgreBinding on Macos
Unfortunately compiling Ogre without RTTI is not possible. I have 2 more questions:
- When do you think is 1.2 considered stable?
- Is 1.2 backward-compatible with 1.1?
Re: LinkerError OgreBinding on Macos
1.2 Release Candidate 2 was released today. The plan is releasing RC3 next week and the final v1.2 to be released at the GDC.
Although v1.2 is not backward compatible (API and resources) all the changes should be straightforward. Test it and see what happens. If you think the path is too risky, please contact us in private and I will try to provide a v1.1 with RTTI enabled.
Thanks!
Although v1.2 is not backward compatible (API and resources) all the changes should be straightforward. Test it and see what happens. If you think the path is too risky, please contact us in private and I will try to provide a v1.1 with RTTI enabled.
Thanks!
Who is online
Users browsing this forum: Bing [Bot] and 1 guest