MACOSX上将ECLIPSE设置为C++开发比特币的IDE

栏目: C++ · 发布时间: 5年前

内容简介:如果你是一名习惯于通过使用eclipse的代码向导,代码开发和重构工具来保障你的生产力水平的Java开发人员,那么你值得花时间在eclipse中进行任何类型的C++开发。这篇文章特别指的是让你的eclipse环境与特定的C++开源项目

如果你是一名习惯于通过使用eclipse的代码向导,代码开发和重构 工具 来保障你的生产力水平的 Java 开发人员,那么你值得花时间在eclipse中进行任何类型的C++开发。

这篇文章特别指的是让你的eclipse环境与特定的C++开源项目 比特币项目 一起工作。

MACOSX上将ECLIPSE设置为C++开发比特币的IDE

在开始设置eclipse之前,请确保你可以 从命令行构建比特币 ,这样你知道你拥有构建比特币所需的一切,即使你仍然在Eclipse中显示一些错误,最后Eclipse每当我们需要编译时,它将使用项目提供的Makefile(并且它可以在可能的情况下逐步增加,节省大量的编译时间)。

我假设你已经安装: - eclipse。 - eclipse CDT tools ,你正在使用的eclipse版本是最新的(我还在使用Juno)。 - Qt/Eclipse插件(可选)。 - 构建可通过 HomeBrew 轻松 编译比特币 所需的所有依赖项(autoconf automake berkeley-db4 boost miniupnpc openssl pkg-config protobuf qt gdb)。

1.让我们将比特币/项目导入我们的工作区。

文件(File)>导入(Import)>现有代码作为Makefile项目(Existing Code as Makefile Project):

MACOSX上将ECLIPSE设置为C++开发比特币的IDE

查找bitcoin/git checkout文件夹,并确保使用GNU Autotools工具链:

MACOSX上将ECLIPSE设置为C++开发比特币的IDE

单击完成。

2.修复C++编译器路径和符号。

在Project Explorer> Properties中右键单击包含项目文件夹的项目。

转到 C/C++ General > 路径和符号(Paths and Symbols) > Languages: GNU C++ > “Includes” Tab ,确保它看起来像下面的截图(我通过查看比特币中Makefile所使用的路径获得了这些路径。点击Apply,OK,然后等待重建索引,由于编译器检查设置的方式,你可能仍会遇到一些奇怪的错误。

MACOSX上将ECLIPSE设置为C++开发比特币的IDE

3.删除一些问题,例如 Error: Invalid arguments candidates are: void resize(?, int).

我们再次打开项目属性,这次我们转到 C/C++ General> Preproessor Include Paths,Macros etc

单击 Providers 选项卡,确保选中 CDT GCC Built-in Compiler Settings [Shared] 。点击Apply,OK,等待重新索引。如果仍有错误,你可能只想删除它们并刷新项目(Project Explorer中项目文件夹上的F5),所有错误现在都应该消失。

MACOSX上将ECLIPSE设置为C++开发比特币的IDE

现在开始工作的速度与习惯使用Eclipse上的Java一样快。

代码完成…

MACOSX上将ECLIPSE设置为C++开发比特币的IDE

在几秒钟内重命名重构…

MACOSX上将ECLIPSE设置为C++开发比特币的IDE

查找变量,方法,类的引用(Cmd + Shift + G)

MACOSX上将ECLIPSE设置为C++开发比特币的IDE

找到接口的所有实现(Cmd + T)

MACOSX上将ECLIPSE设置为C++开发比特币的IDE

最重要的是使用gdb进行交互式调试

MACOSX上将ECLIPSE设置为C++开发比特币的IDE

以及Eclipse中你熟悉和喜爱的所有工具。

设置GDB调试

要一步一步调试你可以使用gdb ,如果你没有安装它只需转到你的终端并输入 brew install gdb

在命令行上,执行Makefile以创建可执行文件,一旦它出现在Project Explorer中,你可以右键单击它 Debug a> Debug Configuration ...

MACOSX上将ECLIPSE设置为C++开发比特币的IDE

然后确保在“调试器”配置选项卡中将gdb设置为可执行调试器,然后只需设置断点并调试即可!

MACOSX上将ECLIPSE设置为C++开发比特币的IDE

ok了?还没那么快……

从Mac OSX 10.9开始,Apple决定你不能使用gdb,除非gdb可执行文件是用证书签名的,他们希望你使用他们的超级duper lldb调试器,但它仍然与Eclipse不兼容,你知道,所以你使用他们的XCode IDE而不是你想要使用的…

无论如何,在/usr/local/bin/gdb上签署gdb并不是那么难。

要对其进行签名,你可以创建证书,或使用现有的开发人员证书。在我的情况下,我已经有一个Mac Developer证书,所以这是一个非常简单的过程,只是在终端发出一个命令,我终于摆脱了 Unable to find Mach task port for process-id 93213: (os/kern) failure (0x5).\n (please check gdb is codesigned - see taskgated(8)) 的错误。

codesign -s “Name of my certificate here” /usr/local/bin/gdb

然后我尝试调试,我得到一个密码对话框来验证我是证书的所有者,然后gdb可以接管然后我可以一步一步调试,偶尔会崩溃。

快乐的黑客。

======================================================================

分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:

  • EOS教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
  • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • python以太坊,主要是针对 python 工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用 php 进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发进阶教程,主要是介绍使用node.js、 mongodb 、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
  • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
  • tendermint区块链开发详解 ,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是 go 语言工程师快速入门区块链开发的最佳选择。

汇智网原创翻译,转载请标明出处。这里是原文 MACOSX上将ECLIPSE设置为C++开发比特币的IDE


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Mathematica Cookbook

Mathematica Cookbook

Sal Mangano / O'Reilly Media / 2009 / GBP 51.99

As the leading software application for symbolic mathematics, Mathematica is standard in many environments that rely on math, such as science, engineering, financial analysis, software development, an......一起来看看 《Mathematica Cookbook》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具