Пожалуйста, поделитесь деталями процесса! Я пытался получить несколько кошельков Qt, работающих на Mac, и был довольно близко с некоторыми из них, но никогда не удавалось. Я обещаю, что я не найду его скучным.
Я буду размещать весь процесс здесь в ближайшее время, но вот краткий список ... и Coinbuck вы правы, я понимаю, что если бы я мог, я мог вставить все, что я хочу, в код до компиляции. Как я уже говорил, вы просто должны доверять мне в какой-то степени, - если вы можете предложить способ, что я могу доказать, что нет ничего злонамеренный в двоичные файлы Mac, пожалуйста, дайте мне знать, и я буду более чем счастлив подчиниться. Все, что я могу сделать сейчас, это дать вам слово, что я не заинтересован в этом что-то подобное.
Итак, краткое изложение того, как сделать это:
[Примечание: Pro наконечника, когда вы находитесь в терминале на Mac, и вы не хотите, чтобы набрать огромный путь в, помните, что вы можете перетаскивать папки или файлы в окно терминала, и он будет автоматически поставить правильный путь .]
1) Вы должны установить все зависимости на вашем компьютере; Это включает:
- libminiupnpc
- OpenSSL
- libboost
- libdb 4,8 (он же Berkeley DB) [Примечание: Это не самая последняя версия.]
Для того, чтобы установить их, вы хотите установить либо MacPorts или доморощенный (я предпочитаю доморощенный). Это, по существу, Mac эквивалент "APT-получить" из среды Linux и сделать его легко установить пакеты. Тогда просто Google "доморощенный libminiupnpc," и т.д., чтобы получить правильный синтаксис для установки каждой библиотеки (все это делается с помощью терминала).
2) Вам необходимо скачать и установить QT SDK версии 4.8 и Qt Creator 2.5.2. Я пытался сделать это с последними версиями (5.0 и 2.7.3 соответственно) и имел плохое время.
3) Загрузить полный исходный код для клиента, которого вы хотите скомпилировать.
4) Открыть "xxcoin-qt.pro" файл (где "хх" это название вашей монеты) в корневой директории исходного кода с Qt Creator.
5) Выбрать "строить" а также "Построить xxcoin-QT." (Я думаю, что я замазать некоторые шаги здесь ... Я буду править с дополнительной информацией, когда я делаю следующий клиент.)
6) Найдите файл .app сгенерированный Qt Creator. Он должен работать правильно на * ваш * компьютер, так как у вас есть все зависимости установлены, но он не будет работать на кого-либо, кто не имеет их. Если вы не заботитесь, то вы сделали в этой точке.
7) Для того, чтобы заставить ее работать на компьютерах других людей без зависимостей, вы должны щелкнуть правой кнопкой мыши файл .app вы построили, выберите "Показать содержимое пакета," и перейти в каталог содержимого. Теперь посмотрите в том же каталоге клиентов Mac у вас уже есть (может быть мой mincoin один или официальный Bitcoin или litecoin из них). Обратите внимание на то, что вновь построенный .app пропускает "Каркасы" а также "Плагины" каталоги в "Содержание." Скопируйте их прямо через одного из официальных приложений. Также скопируйте /Contents/Resources/qt.conf в том же месте в вашем приложении. Обратите внимание, в / Contents / Resources в файл bitcoin.icns который является значок - вы можете изменить это на любой значок, который вы хотите.
8) Хорошо, теперь у вас есть все зависимости в .app но .app не знает, чтобы найти их там - если бы вы дать этот .app кому-то еще, это будет выглядеть для них в нормальных местах, где они будут быть установлено, если это лицо было использовать доморощенный или MacPorts, чтобы загрузить их. Чтобы исправить это, мы должны использовать комбинацию "otool" а также "install_name_tool." Например, чтобы проверить, где приложение ищет зависимости, тип в терминале:
otool -L /Applications/MinCoin-Qt.app/Contents/MacOS/MinCoin-Qt
Это при условии, что вы кладете скомпилированное приложение в папку Applications. Изменение имен и мест в случае необходимости. Вы должны получить список всех зависимостей и их расположения. Теперь повторим, что для одного из уже построенных клиентов. Обратите внимание на разницу? Вместо того чтобы искать libminiupnpc, libssl / libcrypto (часть пакета OpenSSL) и libboost в абсолютных путей в их каталогах установки, то уже построенные клиенты указывают на "@executable_path /../ Каркасы / [файл библиотеки]", Это говорит приложение, чтобы искать библиотеки в директории Frameworks. Для того, чтобы изменения вы выполнить следующие действия:
install_name_tool -смен [старый путь] [новый путь] [место приложения]
Например, если я изменял ссылку libboost_thread-mt.dylib, и мое заявление было в / Applications я бы работать:
install_name_tool -смена /usr/local/lib/libboost_thread-mt.dylib @executable_path /../ Каркасы / libboost_thread-mt.dylib /Applications/MinCoin-Qt.app/Contents/MacOS/MinCoin-Qt
(Очевидно, что пример для фиксации mincoin-кварты клиента - вы бы изменить имя для любой клиент вы фиксируете.)
Повторите, что для каждого dylib что otool списков. В конце концов, otool -L должна выглядеть идентично между свежеприготовленным приложением и один из готовых единиц Mac.
Это все! Я уверен, что я ушел из каких-то вещей, но это суть его.