SoundTouch в проекте Qt на macOS - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь включить общую библиотеку SoundTouch в мой проект Qt. Я загрузил репозиторий SoundTouch, запустил ./bootstrap, ./configure, make и make install, и теперь я хочу создать общую библиотеку для macOS.

Я использовал этот скрипт для компиляции общего library.

clang++ -fPIC -dynamiclib -DDLL_EXPORTS -fvisibility=hidden -I../../include -o libSoundTouch.dylib \
     SoundTouchDLL.cpp ../SoundTouch/*.cpp -I../SoundTouch -O3 -msse

Затем в свой файл .pro я включаю библиотеку

macx: LIBS += -L$$PWD/Lib/ -lSoundTouch

INCLUDEPATH += $$PWD/Lib
DEPENDPATH += $$PWD/Lib

. В основной файл я включил заголовок библиотеки и попытался использовать его с функцией примера. как qDebug () << soundtouch_getVersionString(); но я получаю эту ошибку

Undefined symbols for architecture x86_64:
  "soundtouch_getVersionString()", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

но символы, кажется, находятся в dylib, потому что я исследовал его с помощью инструмента MachOView, и я могу видеть его, здесь a снимок экрана.

Запуск nm при захвате Dylib soundtouch_getVersionString:

nm libSoundTouch.dylib | grep soundtouch_getVersionString
0000000000000e60 T _soundtouch_getVersionString
0000000000000e70 T _soundtouch_getVersionString2

Что не так? Есть ли у вас какие-либо предложения?

...