Project

General

Profile

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.

    (1-1/1)