Russian Qt Forum

Компиляторы и платформы => Mac OS X => Тема начата: Igors от Август 25, 2018, 06:43



Название: Не находит символ
Отправлено: Igors от Август 25, 2018, 06:43
Добрый день

Приложение линкуется но не стартует

Цитировать
dyld: Symbol not found: _OBJC_CLASS_$_NSUserNotification
  Referenced from: /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgio-2.0.0.dylib
  Expected in: /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
 in /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgio-2.0.0.dylib

Эта бяка вылазит на 10.7 (старейшая версия которую обязан поддерживать), на поздних версиях все норм. Разумеется (пере) проверил "deplоy target" и фреймворк Foundation. Либа (GStreamer) заявляет официально что поддерживает начиная аж с 10.6. Конечно спросил там, но скорее всего не дождусь.

Что скажут знатоки IOS ?  :)


Название: Re: Не находит символ
Отправлено: kambala от Август 25, 2018, 12:24
-weak_framework GStreamer и/или -weak_framework Foundation


Название: Re: Не находит символ
Отправлено: Igors от Август 25, 2018, 12:31
-weak_framework GStreamer и/или -weak_framework Foundation
Ну вылетит на первом обращении к GStreamer, чего добились ?


Название: Re: Не находит символ
Отправлено: kambala от Август 25, 2018, 13:21
weak импорт фреймворков говорит, что не надо пытаться загрузить все символы сразу, поэтому ничего не вылетит, если внутри написано что-то типа
Код
Objective-C
if ([NSUserNotification class]) {
   // используем новый апи
} else {
   // старый апи для поддержки старых ОС
}