Hi,
I'm running on MacOSX Leopard.
I was able to build the libIrrlicht.a library using the XCode project "MacOSX.xcodeproj" thats bundled inside the source directory.
I've made a separate Carbon Project and placed the first demo on main.cpp. When building I get these errors below.
I also did a project on Eclipse CDT, setup all the libraries and switches such as MACOS and _IRR_STATIC_LIB_ only to have the exactly same result.
Can someone elaborate on what visibility issue is this? I've searched the documentation but the only reference is by usage of extern_visibility pragmas and such that the irrlicht engine doesn't have anywhere in the code.
I would appreciate any help! Thanks.
Rui
**** Build of configuration Debug for project t5bones ****
make all
Building target: t5bones
Invoking: MacOS X C++ Linker
g++ -o "t5bones" ./main.o ./main_std.o /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a
ld: warning irr::core::irrAllocator<char>::~irrAllocator()has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(Irrlicht.o) and (2) in ./main.o
ld: warning irr::core::irrAllocator<char>::~irrAllocator()has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(Irrlicht.o) and (2) in ./main.o
ld: warning irr::core::irrAllocator<char>::internal_delete(void*)has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(Irrlicht.o) and (2) in ./main.o
ld: warning irr::core::irrAllocator<char>::internal_new(unsigned long)has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(Irrlicht.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcED1Ev.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(Irrlicht.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcED0Ev.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(Irrlicht.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcE15internal_deleteEPv.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(Irrlicht.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcE12internal_newEm.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(Irrlicht.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcED1Ev.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CIrrDeviceMacOSX.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcED0Ev.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CIrrDeviceMacOSX.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcE15internal_deleteEPv.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CIrrDeviceMacOSX.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcE12internal_newEm.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CIrrDeviceMacOSX.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcED1Ev.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CIrrDeviceStub.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcED0Ev.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CIrrDeviceStub.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcE15internal_deleteEPv.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CIrrDeviceStub.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcE12internal_newEm.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CIrrDeviceStub.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcED1Ev.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(COpenGLDriver.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcED0Ev.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(COpenGLDriver.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcE15internal_deleteEPv.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(COpenGLDriver.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcE12internal_newEm.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(COpenGLDriver.o) and (2) in ./main.o
ld: warning irr::core::string<char, irr::core::irrAllocator<char> >& irr::core::string<char, irr::core::irrAllocator<char> >::operator=<char>(char const*)has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CNullDriver.o) and (2) in ./main.o
ld: warning irr::core::string<char, irr::core::irrAllocator<char> >::~string()has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CNullDriver.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcED1Ev.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CNullDriver.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcED0Ev.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CNullDriver.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcE15internal_deleteEPv.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CNullDriver.o) and (2) in ./main.o
ld: warning __ZN3irr4core12irrAllocatorIcE12internal_newEm.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CNullDriver.o) and (2) in ./main.o
ld: warning __ZN3irr4core6stringIcNS0_12irrAllocatorIcEEEaSIcEERS4_PKT_.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CNullDriver.o) and (2) in ./main.o
ld: warning __ZN3irr4core6stringIcNS0_12irrAllocatorIcEEED1Ev.eh has different visibility (1) in /Users/rui/Programming/EclipseProjects/t5bones/irrlich_1.4.1/libIrrlicht.a(CNullDriver.o) and (2) in ./main.o
Unable to compile irrLicht first demo on MACOSX! :(
Hi,
Those are all warning, not errors. It will still build.
The problem comes from having different settings for the symbol visibility when compiling the Irrlicht library and your executable.
In XCode check the "Symbols Hidden by Default" setting for both the Irrlicht library and your project. This setting controls the "-fvisibility" GCC 4.0 compiler option. So, in Eclipse search for that option.
I think Apple changed the default in version 2.5 of XCode to hide symbols.
Cheers,
Tiago Baptista
PS: I realize the original post is old, but as I happened to find it and know the solution, I posted anyway.
Those are all warning, not errors. It will still build.
The problem comes from having different settings for the symbol visibility when compiling the Irrlicht library and your executable.
In XCode check the "Symbols Hidden by Default" setting for both the Irrlicht library and your project. This setting controls the "-fvisibility" GCC 4.0 compiler option. So, in Eclipse search for that option.
I think Apple changed the default in version 2.5 of XCode to hide symbols.
Cheers,
Tiago Baptista
PS: I realize the original post is old, but as I happened to find it and know the solution, I posted anyway.