首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何构建混合IDE

如何构建混合IDE
EN

Ethereum用户
提问于 2016-03-21 11:21:19
回答 2查看 2.1K关注 0票数 4

有人知道如何构建混合IDE吗?我在自述中心或其他地方没有找到这方面的任何信息。当我试图通过cmake构建大师时,我得到的是:

代码语言:javascript
复制
 ➜  3rd cmake mix          
-- The C compiler identification is GNU 5.3.1
-- The CXX compiler identification is GNU 5.3.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:23 (include):
  include could not find load file:

    EthDependencies


CMake Error at CMakeLists.txt:24 (include):
  include could not find load file:

    EthExecutableHelper


CMake Error at CMakeLists.txt:25 (include):
  include could not find load file:

    EthCompilerSettings


SRC_LIST: ./src/QFunctionDefinition.cpp;./src/QContractDefinition.cpp;./src/Exceptions.cpp;./src/MixApplication.cpp;./src/QVariableDeclaration.cpp;./src/ClientModel.cpp;./src/QEther.cpp;./src/InverseMouseArea.cpp;./src/QVariableDefinition.cpp;./src/HttpServer.cpp;./src/main.cpp;./src/DebuggingStateWrapper.cpp;./src/FileIo.cpp;./src/QBigInt.cpp;./src/CodeModel.cpp;./src/MixClient.cpp;./src/QBasicNodeDefinition.cpp;./src/Clipboard.cpp;./src/SortFilterProxyModel.cpp;./src/CodeHighlighter.cpp;./src/Web3Server.cpp;./src/ContractCallDataEncoder.cpp
CMake Warning at CMakeLists.txt:50 (find_package):
  By not providing "FindEth.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Eth", but
  CMake did not find one.

  Could not find a package configuration file provided by "Eth" with any of
  the following names:

    EthConfig.cmake
    eth-config.cmake

  Add the installation prefix of "Eth" to CMAKE_PREFIX_PATH or set "Eth_DIR"
  to a directory containing one of the above files.  If "Eth" provides a
  separate development package or SDK, be sure it has been installed.


CMake Warning at CMakeLists.txt:51 (find_package):
  By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Qt5Core", but
  CMake did not find one.

  Could not find a package configuration file provided by "Qt5Core" with any
  of the following names:

    Qt5CoreConfig.cmake
    qt5core-config.cmake

  Add the installation prefix of "Qt5Core" to CMAKE_PREFIX_PATH or set
  "Qt5Core_DIR" to a directory containing one of the above files.  If
  "Qt5Core" provides a separate development package or SDK, be sure it has
  been installed.


CMake Warning at CMakeLists.txt:52 (find_package):
  By not providing "FindQt5WebEngine.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "Qt5WebEngine", but CMake did not find one.

  Could not find a package configuration file provided by "Qt5WebEngine" with
  any of the following names:

    Qt5WebEngineConfig.cmake
    qt5webengine-config.cmake

  Add the installation prefix of "Qt5WebEngine" to CMAKE_PREFIX_PATH or set
  "Qt5WebEngine_DIR" to a directory containing one of the above files.  If
  "Qt5WebEngine" provides a separate development package or SDK, be sure it
  has been installed.


CMake Error at CMakeLists.txt:59 (qt5_add_resources):
  Unknown CMake command "qt5_add_resources".


-- Configuring incomplete, errors occurred!
See also "/home/ligi/git/3rd/CMakeFiles/CMakeOutput.log".

当建筑发展:

代码语言:javascript
复制
➜  3rd cmake mix
CMake Error at CMakeLists.txt:8 (include):
  include could not find load file:

    EthPolicy


CMake Error at CMakeLists.txt:9 (eth_policy):
  Unknown CMake command "eth_policy".


-- Configuring incomplete, errors occurred!
See also "/home/ligi/git/3rd/CMakeFiles/CMakeOutput.log".
EN

回答 2

Ethereum用户

回答已采纳

发布于 2016-03-22 08:54:43

目前,构建过程不允许构建the 3伞的子集。要编译mix,您必须编译整个集合:

代码语言:javascript
复制
git clone https://github.com/ethereum/webthree-umbrella/
cd webthree-umbrella/
mkdir build/
cd build/
cmake ..
make -j $(nproc)

混合二进制文件将在build/mix/mix中提供。

票数 2
EN

Ethereum用户

发布于 2016-03-21 13:31:23

您缺少了一些依赖项,至少qt库,参见下面。混合不能单独构建,您需要更多的积木之前。

这个图像很好地描述了混合依赖关系:

就像你一样,我刚开始试着编译混合,实际上编译整个cpp的东西更简单,mix就会出现在里面。使用说明就在这里。归根结底是:

  • 使用包管理器(sudo apt-get installsudo aptitude install)安装依赖项,在Ubuntu上如下所示:

build-essential git cmake libboost-all-dev libgmp-dev libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev libcurl4-openssl-dev libcryptopp-dev libmicrohttpd-dev libjsoncpp-dev libargtable2-dev libedit-dev mesa-common-dev ocl-icd-libopencl1 opencl-headers libgoogle-perftools-dev qtbase5-dev qt5-default qtdeclarative5-dev libqt5webkit5-dev libqt5webengine5-dev ocl-icd-dev libv8-dev libz-dev libjsonrpccpp-dev qml-module-qtquick-controls qml-module-qtwebengine

  • 如果您不在Ubuntu上,那么libqt5web工程5-dev和libcryptopp-dev可能会有问题,这取决于发行版并不是编译器想要的方式。如果需要的话,我可以在Debian上添加一些东西,我成功地编译了Debian上的所有东西,因为Debian缺少这两个库。

因此,在Debian上,您不会得到libqt5webEngine-5-dev。我解决这两个依赖关系问题的方法如下:

  1. 网站上下载QT5.4(版本很重要),他们会问你几个问题。我个人把它安装在我的主目录(/ home /YOURUSER)中。
  2. 现在您必须告诉cmake如何找到那个库:我使用了cmake .. -DCMAKE_PREFIX_PATH=/home/YOURUSER/Qt/5.4/gcc_64

因此,如果您没有得到正确版本的libcrytopp,您需要自己编译它。

  1. wget http://cryptopp.com/cryptopp562.zip
  2. unzip cryptopp562.zip -d cryptopp
  3. 如果密码目录中的make libcryptopp.a libcryptopp.so cryptest.exe失败,则可能需要编辑GNUmakefile和取消注释CXXFLAGS += -fPIC
  4. sudo make install
    • 克隆回购,递归地:)并签出您想要的版本:

git clone --recursive https://github.com/ethereum/webthree-umbrella.git然后git checkout XXXX

代码语言:javascript
复制
- create the build directory, move in it and cmake ! `mkdir -p build && cd build && cmake ..`

如果您的cmake没有通过所有测试,您可以进行评论,我将尝试告诉您缺少了什么:)

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

https://ethereum.stackexchange.com/questions/2217

复制
相关文章

相似问题

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