неопределенные символы "__Unwind_Resume" при связывании собственного dylib с libtool в OSX10.15 - PullRequest
0 голосов
/ 23 марта 2020

Попытка скомпилировать код в OSX 10.15. который отлично работает на OSX 10.12 и застрял. Хорошо знаком с общей концепцией связывания и решения проблем с неопределенными символами, которые очень хорошо описаны здесь . Используя только инструменты командной строки, libtool и clang ++ предоставляются Xcode. Кажется, проблема с моей локальной цепочкой OSX CLT. Пробовал переустановить полный Xcode.

Компиляция файлов с помощью:

clang++ -g -Wall -arch x86_64 -o ./Permutation.o Permutation.cpp
clang++ -g -Wall -arch x86_64 -o ./MarchingCubes.o MarchingCubes.cpp

Затем соединение с общей библиотекой с помощью:

libtool -install_name @rpath/libmodelling.dylib -dynamic  -L../../../release/lib/ -lstdc++ -lpthread  -lz -lm  Permutation.o MarchingCubes.o  -o ../../../release/lib//libmodelling.dylib

В результате

Undefined symbols for architecture x86_64:
  "__Unwind_Resume", referenced from:
      __ZN13MarchingCubesD2Ev in MarchingCubes.o

Попробовал несколько советов от аналогичные вопросы о стекопереходе, такие как: -mmacosx-version-min = 10.9, изменение -lstdc ++ против -lc ++, попытка g ++ face of clang ++

libunwind.dylib, обеспечивающего "неопределенный символ", находится в / usr / lib / system в моей системе, которая должна быть найдена через систему зонтичной системы, которую компилятор должен выяснить сам, если правильно понял.

благодарен за любое предложение

...