Russian Qt Forum
Май 03, 2024, 11:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Lion находит посторонний "main"  (Прочитано 2364 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Октябрь 16, 2011, 18:09 »

Добрый день

Несколько плагинов перестали работать на OSX 10.7. Смотрю, выясняется

- плагины подключаются через экспортируемую ф-цию "main" (ну на OSX POSIX просто ф-цию не делать hidden), причем разрешены 2 варианта имени, выглядит так (псевдокод)

Код
C++ (Qt)
theRoutine = reinterpret_cast <PlugEntry>  dlsym(mConnectionID, "main");
if (!theRoutine)
theRoutine = reinterpret_cast <PlugEntry>  dlsym(mConnectionID, "Main");
if (!theRoutine)
ShowError("not a valid plug-in");
 
Когда у плагина есть "main" - все гуд, она находится. Но вот когда "Main" - то все равно (первой) находится "main", посторонка которая к плагину никакого отношения не имеет (см скриншот)  и которая начинает молотить вот такую лабуду (что занимает до минуты)

Цитировать
PAProcess.m:-[PAProcess getTaskPort]:279: ERROR: Could not get task for PID [312]
... // здесь еще 300 таких же строк только с разным PID
PAProcess.m:-[PAProcess getTaskPort]:279: ERROR: Could not get task for PID [1]
TestApp [311] (32-bit)
Page Faults: 139687, Page Ins:  24593, COW Faults: 684 Ports:  135
Res: 139.57 MB   Dirty: 51.01 MB   Copied: 2360 KB   Swapped: 0 B
Wired: 0 B, KMEM: 0 B
Malloc data unavailable
User CPU Time: 5.389709 sec, System CPU Time: 1.464170 over 5 threads
А на Леоперде (10.6) все нормально, никаких посторонних "main" нет. Плагины старые, писаны 5 и более лет назад, файлы одни и те же на обоих ОС, исходники отсутствуют. Конечно я перебросил main/Main и с новым билдом все работает - но как мне залатать текущую версию на Lion?

Откуда Lion выдрал тот "main"?

Спасибо     
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.1 секунд. Запросов: 22.