MyRuLib MacOS

Материал из LinTest Wiki

Перейти к: навигация, поиск

Для начала установить xcode (требуется регистрация). Потом либо собирать все необходимое вручную, либо установить менеджер пакетов macports и запустить:

sudo port install expat
sudo port install wxWidgets

Далее, скачав и распаковав 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]

Все.

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты
Проекты