Меня хорошо знают dyld
проблема на OS X.
Файл Qt.pro:
INCLUDEPATH += /usr/local/Cellar/libpng/1.6.23/include /usr/local/Cellar/jpeg/8d/include
LIBS += -L/usr/local/Cellar/libpng/1.6.23/lib -L/usr/local/Cellar/jpeg/8d/lib -ljpeg -lpng -ljpeg -lz
Во время выполнения мое приложение выдает:
dyld: символ не найден: __cg_jpeg_resync_to_restart Ссылка от:
/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
Ожидается в: /usr/local/Cellar/jpeg/8d/lib/libjpeg.8.dylib в
/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
Я уже получил это раньше, и я исправил это с помощью этого ответ, но теперь это происходит снова, и этот совет не работает. Как я могу решить эту проблему?
Это только проблема времени выполнения QtCreator. Ответ Дани Алехандро (выше) частично правильный.
В моем случае эта ошибка будет происходить только в Qt Creator на OSX ElCapitan (компиляция моих программ OpenCV с CLion или XCode в OSX будет работать без каких-либо действий), поэтому я не считаю правильным говорить, что изменение конфигурации системы является обязательным (как ваша ссылка предлагает).
Что я сделал, так это связал каждый библиотечный файл один за другим (связал файлы dylib один за другим с их полным путем). Таким образом, мне не нужно было связываться с моими файлами или делать какие-либо дополнительные настройки. Например:
LIBS += "/usr/local/lib/libopencv_core.dylib"LIBS += "/usr/local/lib/libopencv_highgui.dylib"
При условии, что такие файлы существуют.
Редактировать: Другой способ решить эту проблему (который еще раз доказывает, что это связано только с Qt Creator) — перейти на Проекты -> Выполнить -> «Запустить среду» (показать детали), Выбрать DYLD_LIBRARY_PATH и нажмите Отозвать. После этого ваш проект должен скомпилироваться, как и ожидалось.