Как протестировать статическую библиотеку с помощью XCTest, указав флаги компоновщика pagezero_size и image_base?

Я создаю фреймворк, который связывается со статической библиотекой, используя флаги компоновщика -pagezero_size и -image_base.

Библиотека LuaJIT скомпилирована для 64-битной версии Mac OS X, а мой фреймворк — это всего лишь оболочка ObjC для LuaJit плюс мост для загрузки других фреймворков и передачи классов и объектов экземпляров туда и обратно.

Все работает отлично, но теперь я хочу начать писать тесты для своего фреймворка, прежде чем начать делать некоторые модификации, но проблема в том, что Xcode жалуется, что pagezero_size только для основного исполняемого файла. то есть добавление флагов к тестовой цели вызывает ошибку:

ld: -pagezero_size option can only be used when linking a main executable

Есть идеи, как запустить тесты для статической библиотеки, которую необходимо связать с помощью -pagezero_size и -image_base?


person rraallvv    schedule 04.05.2015    source источник
comment
Библиотека должна быть построена с этими флагами, или вам нужно использовать эти флаги, когда вы связываете свое приложение с библиотекой?   -  person Etan Reisner    schedule 05.05.2015
comment
@EtanReisner Библиотека должна быть связана с этими флагами, как предлагает этот ответ   -  person rraallvv    schedule 05.05.2015
comment
Это указывает на то, что основное приложение должно быть связано с библиотекой с этими флагами. Итак, где вы пытаетесь использовать этот флаг в настоящее время, который вызывает проблему?   -  person Etan Reisner    schedule 05.05.2015
comment
@EtanReisner Я только что добавил в проект новую цель Cocoa Test Bundle и попытался запустить виртуальную машину Lua непосредственно из тестового метода в шаблоне, вызвав lua_open(), поскольку lua_open возвращает NULL. Я предполагаю, что это потому, что я не добавляю pagezero_size в флаги компоновщика, но добавление флагов приводит к ошибке, описанной выше. Я еще не запустил последние модификации, но фреймворк размещен здесь, я сейчас пытаюсь добавить тесты.   -  person rraallvv    schedule 05.05.2015
comment
Создает ли Cocoa Test Bundle исполняемый файл? Существуют ли специальные флаги для этого (в отличие от создания библиотеки)? Я не могу предложить ничего конкретного, так как я не использую Xcode или OS X.   -  person Etan Reisner    schedule 05.05.2015
comment
@EtanReisner нет, тестовый пакет не создает исполняемый файл и фреймворк, я думаю, мне придется добавить исполняемый целевой объект, который загружает фреймворк только для запуска тестов.   -  person rraallvv    schedule 05.05.2015
comment
Это может быть правдой. Я не знаю достаточно, чтобы сказать что-нибудь более полезное на данный момент, извините.   -  person Etan Reisner    schedule 05.05.2015