Статические библиотеки в скомпилированной в версию в-крест программе

Я предпочитаю использовать [TestInitialize] метод для выполнения инстанцирования протестированного объекта, и это - параметры. Я только выполняю работу в конструкторе, если необходимо инстанцировать базового класса тестирования (который обычно является, где я создаю или обновляю репозитории, и т.д.). Это помогает мне сохранить код среды тестирования и тестовый код отдельными логически и физически.

8
задан tshepang 5 May 2014 в 17:03
поделиться

4 ответа

В зависимости от того, сколько библиотек вы используете, может быть сложно получить статическую компоновку всех из них. Что вам сообщает "otool -L your_binary"?

Чтобы получить автономный пакет для моего собственного приложения, я установил пользовательский MacPorts в нестандартный каталог, чтобы я мог установить dynlink с библиотеки из этого каталога и ограничиваться только тем, чтобы просить людей установить все это в одном и том же месте на своих компьютерах. Не очень хорошо, совсем не в духе Mac, но это приложение Unix, и вам нужно быть знакомым с Unix, чтобы его использовать в любом случае.

Удачи

Паскаль

0
ответ дан 5 December 2019 в 22:19
поделиться

Оказывается, что есть - функция загрузки динамической библиотеки (0x22), добавленная в 10.5.6. Система, в которой я работал, была 10.5.5. Я обновился до 10.5.8, и все работает!

0
ответ дан 5 December 2019 в 22:19
поделиться

Хорошо, ВТОРОЕ решение и НЕ очень удовлетворительное - это найти компьютер 10.5.8, установить пакеты разработчика и перекомпилировать ... то же самое для powerPC ... печально, но это будет работа ...

0
ответ дан 5 December 2019 в 22:19
поделиться

Я искал тот же вопрос, поскольку я разрабатываю на 10.6, но должен иметь версию, которая работает на 10.5. В дополнение к вышеуказанным флагам компилятора нужно добавить:

-no_compact_linkedit

Это описано здесь:

http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/ld.1.html

где сказано:

Обычно при работе с Mac OS X 10.6 компоновщик генерирует компактную информацию в сегменте __LINKEDIT. Этот параметр заставляет компоновщик вместо этого выдавать традиционную информацию о перемещении.

Я узнал об этом из обсуждения в списке рассылки xcode-users по поводу "unknown required load command 0x80000022".

.
2
ответ дан 5 December 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: