Связывание библиотек Macports с приложением XCode
Я пытаюсь распространять зависимости моего приложения с приложением.
У меня установлены пакеты macports librsvg, boost и cairo только для 64-битной системы на моей системе Snow Leopard. Когда я создаю пакет.app моей программы, он не работает на машинах без macports и соответствующих библиотек, потому что они не включены в приложение, которое ищет библиотеки в /opt.
Я пробовал флаг --static для статического связывания, но это вызвало ошибки libcrt0.
Каков наилучший метод для связывания библиотек MacPorts и их зависимостей с приложением OSX, подходящим для одиночного распространения?
3 ответа
Вы захотите скопировать библиотеки в свой пакет приложений, используя этап сборки файлов копирования. Dylibs должны быть помещены в Frameworks
каталог в комплекте приложения. Вам также нужно будет добавить библиотеки в ваш проект XCode.
Я должен был просто сделать это для jsoncpp. Я перешел к настройкам компоновщика в проекте> Фазы сборки> Связать двоичные файлы с библиотеками, а затем использовал команду add other, чтобы перейти к пути моей библиотеки и добавить библиотеку из папки, которая по умолчанию будет находиться в каталоге opt / local / lib. настройка для Macport
получение заголовочных файлов было немного сложнее. В этом случае я перешел к usr / Include, нашел файл / папку с заголовками, скопировал его в свой проект и в файле cpp добавил строку включения с кавычками ("")
например, переместить каталог /usr/Include/json в папку проекта RestTemplate с помощью copy. затем добавлен в main.cpp
#include "json/json.h"
Попробуйте использовать py2app для создания автономного приложения.