MyRuLib MacOS
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) м (1 версия) |
Текущая версия на 16:15, 27 июля 2014
Для начала установить Command Line Tools for Xcode, который нужно скачать на странице Downloads for Apple Develoters (требуется регистрация).
Потом либо собирать все необходимое вручную, но проще установить менеджер пакетов macports и запустить:
sudo port install wxWidgets xml2 icu freetype
Далее, скачав и распаковав myrulib-0.21.tar.gz, нужно отредактировать GNUmakefile
на 47-й строке поменять:
WX_PORT ?= gtk2 на WX_PORT ?= mac
на 72-й строке удалить:
$(WX_CONFIG_DEBUG_FLAG)
Запускаем компиляцию:
make
Если выйдет ошибка WxSQLite3/wxsqlite3.cpp:2059: error: ‘sqlite3_open_v2’ was not declared in this scope
в файле wxsqlite3.cpp на 40-й строке попробуйте поменять #include "sqlite3.h"
на #include "../SQLite3/sqlite3.h"
и снова:
make
После удачного компилирования, полученную программу myrulib в папке build нужно запаковать в ".app" чтобы можно было выбрать окно программы (подробнее здесь faqmac.htm). Для этого можно создать папки:
mkdir -p MyRuLib.app/Contents/MacOS
добавить файл с именем "info.plist" подобного содержания
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleExecutable</key> <string>myrulib</string> <key>CFBundleIdentifier</key> <string>ru.lintest.MyRuLib</string> <key>CFBundleName</key> <string>MyRuLib</string> <key>CFBundleIconFile</key> <string>myrulib</string> <key>CFBundleDevelopmentRegion</key> <string>ru</string> </dict> </plist>
в папку MyRuLib.app/Contents/
и переместить myrulib в папку MyRuLib.app/Contents/MacOS/.
Или просто создать cocoa приложение в xcode и заменить Contents/MacOS/[файл].
Можно сконвертировать "Icon Composer.app" home-128x128.png в myrulib.icns переместить myrulib.icns в папку MyRuLib.app/Contents/Resources/.
Если содержание вашего Info.plist отличается от того что выше, то нужно добавить
<key>CFBundleIconFile</key> <string>myrulib</string>[/code]
Все.