首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Mac上构建bitcoind时会出现相同的错误

在Mac上构建bitcoind时会出现相同的错误
EN

Stack Overflow用户
提问于 2015-08-04 05:26:44
回答 4查看 1K关注 0票数 2

因此,我在为OS:https://github.com/bitcoin/bitcoin/blob/master/doc/build-osx.md构建bitcoind的文档中,每次尝试构建时,我都会遇到相同的错误。以下是我所采取的步骤:

代码语言:javascript
复制
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

这是我所犯的错误:

代码语言:javascript
复制
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/,我通过brew安装了qt和qt5,我不太熟悉C/C++和编译代码,也不知道下一步该尝试什么。提前感谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-08-04 16:39:28

首先,尝试构建一个非GUI bitcoind:

代码语言:javascript
复制
make clean
./configure --without-gui
make
票数 1
EN

Stack Overflow用户

发布于 2015-09-11 03:12:57

我也犯了同样的错误。我通过手动编辑MakeFile来修复这个问题。

问题在下面的QT_DBUS_LIBS, QT_LIBS and QT_TEST_LIBS定义中.导致问题的是-F flag and -framework

代码语言:javascript
复制
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/Qt 5/5.5.0/lib

代码语言:javascript
复制
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

在改变之后

代码语言:javascript
复制
make clean
make

效果很好!

从src\qt目录运行bitcoin-qt,它是比特币核心的GUI版本

玩得开心!请记住,如果您再次运行configure,这些更改将被覆盖。

票数 0
EN

Stack Overflow用户

发布于 2015-08-16 23:01:50

我通过对Makefile和src/Makefile进行更改(需要在每个./配置之后重做)传递了此错误

1:去掉几个‘-框架Qtxxxx’,因为它们与'-F路径/to/qt/‘在同一行中是冗余的。 2:用'-F /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks‘’将其他的框架替换为一些基本的苹果库

但毕竟,我还是放弃了qt5,因为我在下面的链接中遇到了确切的问题,这似乎是来自自制的qt5不适用于x64,而且我太懒了,不想在这里跟踪攻击。

https://github.com/bitcoin/bitcoin/issues/5728

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31801292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档