所以我参与了为OS X构建bitcoind的文档: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
我已经用Google搜索了一天多了。我在这里手动下载了开源Qt:http://www.qt.io/download-open-source/,我通过brew等安装了qt和qt5。我不熟悉C / C ++并编译代码而不知道是什么尝试下一步。提前致谢
答案 0 :(得分:2)
首先尝试构建一个非GUI bitcoind:
make clean
./configure --without-gui
make
答案 1 :(得分:1)
我遇到了同样的错误......我通过手动编辑 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
效果很好!
从src \ qt目录运行bitcoin-qt
比特币核心的GUI版本
玩得开心!请记住,如果再次运行configure
,这些更改将被覆盖。
答案 2 :(得分:0)
我通过对Makefile和src / Makefile进行更改(需要在每个./configure之后重做)来传递此错误
1:取消几个-framework Qtxxxx,因为它们与-FF路径/ / qt /'有点多余。在同一行。
2:使用' -F /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs将剩下的' -framework替换为一些基本的Apple库/MacOSX10.10.sdk/System/Library/Frameworks'
但是毕竟,我仍然放弃了qt gui,因为我接下来确实问题就像下面的链接一样,似乎自制的qt5不适用于x64,而且我懒得跟随这里的黑客< / p>
答案 3 :(得分:0)
我遇到了同样的问题并通过切换回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