Compiling for Apple Silicon
Added by Albert Shan about 1 year ago
I've just managed to compile Exiv2 for arm64 support under macOS.
But when I link it, I get a bunch of warnings like the following:
ld: warning: direct access in function 'Exiv2::FileIo::Impl::copyXattrFrom(Exiv2::FileIo const&)' from file 'libexiv2.a(basicio.cpp.o)' to global weak symbol 'typeinfo for Exiv2::BasicError<char>' from file 'libexiv2.a(error.cpp.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
Any ideas what is going wrong and how do I fix it? I don't get the same warnings when linked with x86_64.
The arm64 portion was compiled under macOS Catalina using Xcode 12.2 with Universal Binary support.
Albert
Replies (1)
RE: Compiling for Apple Silicon - Added by Albert Shan about 1 year ago
Oh I fixed it. Just need to add -fvisibility=hidden to EXTRA_COMPILE_FLAGS.