Итак, я нахожусь в документах для создания биткойнда для OS X: https://github.com/bitcoin/bitcoin/blob/master/doc/build-osx.md и у меня была одна и та же ошибка каждый раз, когда я пытаюсь собрать. Вот шаги, которые я делаю:
brew install autoconf automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf qt5
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
./autogen.sh
./configure --with-gui=qt5
make
и вот ошибка, которую я получаю:
OBJCXXLD qt/bitcoin-qt
clang: error: unknown argument: '-framework QtNetwork'
clang: error: unknown argument: '-framework QtWidgets'
clang: error: unknown argument: '-framework QtGui'
clang: error: unknown argument: '-framework QtCore'
clang: error: unknown argument: '-framework QtDBus'
clang: error: unknown argument: '-framework QtCore'
make[2]: *** [qt/bitcoin-qt] Error 1
make[1]: *** [check-recursive] Error 1
make: *** [check-recursive] Error 1
Я гуглил уже больше суток. Я вручную загрузил Qt с открытым исходным кодом здесь: http://www.qt.io/download-open-source/, У меня есть qt и qt5, установленные через brew и т. Д. Я не настолько знаком с C / C ++ и компиляцией кода и не знаю, что делать дальше. заранее спасибо
Прежде всего попробуйте создать биткойн без GUI:
make clean
./configure --without-gui
make
У меня была та же ошибка … Я исправил это, вручную редактируя Makefile
Проблема в QT_DBUS_LIBS, QT_LIBS and QT_TEST_LIBS
определения ниже … -F flag and -framework
является причиной проблемы.
QT_DBUS_LIBS = -F/usr/local/Cellar/qt5/5.5.0/lib -framework\ QtDBus -F/usr/local/Cellar/qt5/5.5.0/lib -framework\ QtCore
QT_LIBS = -F/usr/local/Cellar/qt5/5.5.0/lib/QtNetwork -F/usr/local/Cellar/qt5/5.5.0/lib -framework\ QtWidgets -F/usr/local/Cellar/qt5/5.5.0/lib -framework\ QtGui -F/usr/local/Cellar/qt5/5.5.0/lib -framework\ QtCore -framework Foundation -framework ApplicationServices -framework AppKit
QT_TEST_LIBS = -F/usr/local/Cellar/qt5/5.5.0/lib -framework\ QtTest -F/usr/local/Cellar/qt5/5.5.0/lib -framework\ QtCore
Замените эти имена библиотек прямыми ссылками на библиотеку … сначала вы должны найти путь к библиотеке Qt, мой был по адресу /usr/local/Cellar/qt5/5.5.0/lib
QT_DBUS_LIBS = /usr/local/Cellar/qt5/5.5.0/lib/QtDBus.framework/QtDBus /usr/local/Cellar/qt5/5.5.0/lib/QtCore.framework/QtCore
QT_LIBS = /usr/local/Cellar/qt5/5.5.0/lib/QtNetwork.framework/QtNetwork /usr/local/Cellar/qt5/5.5.0/lib/QtWidgets.framework/QtWidgets /usr/local/Cellar/qt5/5.5.0/lib/QtGui.framework/QtGui /usr/local/Cellar/qt5/5.5.0/lib/QtCore.framework/QtCore -framework Foundation -framework ApplicationServices -framework AppKit
QT_TEST_LIBS = /usr/local/Cellar/qt5/5.5.0/lib/QtTest.framework/QtTest /usr/local/Cellar/qt5/5.5.0/lib/QtCore.framework/QtCore
после внесения изменений
make clean
make
Работает отлично!
Запустить bitcoin-qt
которая является GUI-версией ядра биткойнов из каталога src \ qt
Повеселись! Пожалуйста, помните, если вы бежите configure
опять эти изменения будут перезаписаны.
Я передал эту ошибку, внеся изменения (нужно переделывать после каждого ./configure) в Makefile и src / Makefile
1: Снятие нескольких ‘-рамок Qtxxxx, поскольку они отчасти избыточны с’ -F path / to / qt / ‘в одной строке.
2. Замена остальных ‘-framework’ на некоторые базовые библиотеки Apple с помощью ‘-F /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks’
Но, в конце концов, я все-таки отказался от qt gui, потому что затем столкнулся с проблемой, как показано в ссылке ниже, которая, кажется, qt5 из homebrew не для x64, и я слишком ленив, чтобы следить за хаком здесь
У меня была та же проблема, и я решил ее, переключившись обратно на qt4 и откомпилировав без GUI:
brew install autoconf automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf qt4
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
./autogen.sh
./configure
make