zoukankan      html  css  js  c++  java
  • ubuntu下编译为知笔记

    先把为知笔记官方的教程放在前面

    一、 准备环境

    Linux (Ubuntu)

    Qt

    安装 5.7.0 for Linux 64-bit (715 MB) 或者更高版本
    http://download.qt.io/official_releases/qt/5.7/5.7.0/qt-opensource-linux-x64-5.7.0.run
    下载下来的安装文件,更改权限为可执行,然后执行安装程序。不要用管理员权限安装,直接安装到home目录即可,例如~/Qt5.7.0

    Git

    1. sudo apt-get install git

    编译工具

    1. sudo apt-get install build-essential

    CMake

    1. sudo apt-get install cmake

    zlib

      1. sudo apt-get install zlib1g-dev

    二、Clone为知笔记源代码

    可以直接clone。然后切换到分支v2.4.0或者更新的分支。也可以直接使用master分支(通常代码不是最新的)

    对于Mac/Linux,可以在终端中运行:

    1. cd ~
    2. mkdir WizTeam
    3. cd WizTeam
    4. git clone https://github.com/WizTeam/WizQTClient.git
    5. cd WizQTClient
    6. git checkout v2.4.4

    三、编译源代码

    运行QtCreator,选择打开~/WizTeam/WizQTClient/CMakeLists.txt这个文件

    注:通常QtCreator在安装路径下面的Tools/QtCreator/bin这个文件夹里面

    如果出现运行CMake对话框,在参数中,输入下面的参数:(如果不设置参数,则会按照Release方式编译)。

    1. -DCMAKE_BUILD_TYPE=Debug

    点击安装Run CMake,此时将会开始配置工程。等待1分钟左右后,如果没有错误,Done按钮将可以点击。点击Done(Finish)按钮。

    如果没有出现 CMake 对话框,在QtCreator左侧导航栏,点击左下角Project构建按钮,选择 Build Debug->Run WizNote,然后点击左下角Build按钮,就可以开始编译WizNote源代码了。

    几分钟后,就可以开始调试或者运行为知笔记客户端了。

    若出现错误:No CMAKE_CXX_COMPILER could be found. mac qt

    点击「项目」,打开「构建设置」,在 CMake 构建目录中添加以下两个参数,重新构建即可:
    -DCMAKE_C_COMPILER=clang
    -DCMAKE_CXX_COMPILER=clang++

    Let's GO

    在下载的时候安装其他的软件,顺利

    yongqian@yongqian-ThinkPad-T450s:~$ sudo apt-get install git
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    将会同时安装下列软件:
      git-man liberror-perl
    建议安装:
      git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk
      gitweb git-arch git-cvs git-mediawiki git-svn
    下列【新】软件包将被安装:
      git git-man liberror-perl
    升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 99 个软件包未被升级。
    需要下载 3,823 kB 的归档。
    解压缩后会消耗 25.6 MB 的额外空间。
    您希望继续执行吗? [Y/n] y
    获取:1 http://cn.archive.ubuntu.com/ubuntu xenial/main amd64 liberror-perl all 0.17-1.2 [19.6 kB]
    获取:2 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 git-man all 1:2.7.4-0ubuntu1.1 [735 kB]
    获取:3 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 git amd64 1:2.7.4-0ubuntu1.1 [3,068 kB]
    已下载 3,823 kB,耗时 4秒 (945 kB/s)
    正在选中未选择的软件包 liberror-perl。
    (正在读取数据库 ... 系统当前共安装有 219466 个文件和目录。)
    正准备解包 .../liberror-perl_0.17-1.2_all.deb  ...
    正在解包 liberror-perl (0.17-1.2) ...
    正在选中未选择的软件包 git-man。
    正准备解包 .../git-man_1%3a2.7.4-0ubuntu1.1_all.deb  ...
    正在解包 git-man (1:2.7.4-0ubuntu1.1) ...
    正在选中未选择的软件包 git。
    正准备解包 .../git_1%3a2.7.4-0ubuntu1.1_amd64.deb  ...
    正在解包 git (1:2.7.4-0ubuntu1.1) ...
    正在处理用于 man-db (2.7.5-1) 的触发器 ...
    正在设置 liberror-perl (0.17-1.2) ...
    正在设置 git-man (1:2.7.4-0ubuntu1.1) ...
    正在设置 git (1:2.7.4-0ubuntu1.1) ...
    yongqian@yongqian-ThinkPad-T450s:~$ sudo apt-get install build-essential
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    build-essential 已经是最新版 (12.1ubuntu2)。
    升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 99 个软件包未被升级。
    yongqian@yongqian-ThinkPad-T450s:~$ sudo apt-get install cmake
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    将会同时安装下列软件:
      cmake-data libjsoncpp1
    建议安装:
      codeblocks eclipse ninja-build
    下列【新】软件包将被安装:
      cmake cmake-data libjsoncpp1
    升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 99 个软件包未被升级。
    需要下载 3,817 kB 的归档。
    解压缩后会消耗 20.5 MB 的额外空间。
    您希望继续执行吗? [Y/n] y
    获取:1 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 cmake-data all 3.5.1-1ubuntu3 [1,121 kB]
    获取:2 http://cn.archive.ubuntu.com/ubuntu xenial/main amd64 libjsoncpp1 amd64 1.7.2-1 [73.0 kB]
    获取:3 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 cmake amd64 3.5.1-1ubuntu3 [2,623 kB]
    已下载 3,817 kB,耗时 3秒 (1,052 kB/s)
    正在选中未选择的软件包 cmake-data。
    (正在读取数据库 ... 系统当前共安装有 220280 个文件和目录。)
    正准备解包 .../cmake-data_3.5.1-1ubuntu3_all.deb  ...
    正在解包 cmake-data (3.5.1-1ubuntu3) ...
    正在选中未选择的软件包 libjsoncpp1:amd64。
    正准备解包 .../libjsoncpp1_1.7.2-1_amd64.deb  ...
    正在解包 libjsoncpp1:amd64 (1.7.2-1) ...
    正在选中未选择的软件包 cmake。
    正准备解包 .../cmake_3.5.1-1ubuntu3_amd64.deb  ...
    正在解包 cmake (3.5.1-1ubuntu3) ...
    正在处理用于 man-db (2.7.5-1) 的触发器 ...
    正在处理用于 libc-bin (2.23-0ubuntu9) 的触发器 ...
    正在设置 cmake-data (3.5.1-1ubuntu3) ...
    正在设置 libjsoncpp1:amd64 (1.7.2-1) ...
    正在设置 cmake (3.5.1-1ubuntu3) ...
    正在处理用于 libc-bin (2.23-0ubuntu9) 的触发器 ...
    顺利完成:)))))))))

    clone 顺利

    checkout 2。5。5 顺利

    qt编译 报错

    Failed to find "GL/gl.h" in "/usr/include/libdrm"

    try

    {

    sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev 顺利完成

    try again

     

    }

    顺利完成

    qt 输出

    {

    Running "/usr/bin/cmake /home/yongqian/WizNote/WizQTClient '-GCodeBlocks - Unix Makefiles' -DCMAKE_CXX_COMPILER:STRING=/usr/bin/g++ -DQT_QMAKE_EXECUTABLE:STRING=/home/yongqian/Qt5.7.0/5.7/gcc_64/bin/qmake" in /tmp/qtc-cmake-s5sMQw.

    -- The C compiler identification is GNU 5.4.0

    -- The CXX compiler identification is GNU 5.4.0

    -- 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/g++

    -- Check for working CXX compiler: /usr/bin/g++ -- works

    -- Detecting CXX compiler ABI info

    -- Detecting CXX compiler ABI info - done

    -- Detecting CXX compile features

    -- Detecting CXX compile features - done

    -- Performing Test COMPILER_SUPPORTS_CXX11

    -- Performing Test COMPILER_SUPPORTS_CXX11 - Success

    -- Performing Test COMPILER_SUPPORTS_CXX0X

    -- Performing Test COMPILER_SUPPORTS_CXX0X - Success

    -- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)

    -- Looking for sys/types.h

    -- Looking for sys/types.h - found

    -- Looking for stdint.h

    -- Looking for stdint.h - found

    -- Looking for stddef.h

    -- Looking for stddef.h - found

    -- Check size of off64_t

    -- Check size of off64_t - done

    -- Looking for fseeko

    -- Looking for fseeko - found

    -- Looking for unistd.h

    -- Looking for unistd.h - found

    ZLIB not found, using internal: /home/yongqian/WizNote/WizQTClient/lib/zlib

    CMake Error at /home/yongqian/Qt5.7.0/5.7/gcc_64/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:9 (message):

    Failed to find "GL/gl.h" in "/usr/include/libdrm".

    Call Stack (most recent call first):

    /home/yongqian/Qt5.7.0/5.7/gcc_64/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake:146 (include)

    /home/yongqian/Qt5.7.0/5.7/gcc_64/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:87 (find_package)

    /home/yongqian/Qt5.7.0/5.7/gcc_64/lib/cmake/Qt5/Qt5Config.cmake:26 (find_package)

    cmake/QtChooser.cmake:1 (find_package)

    lib/quazip/CMakeLists.txt:6 (include)

     

     

    -- Configuring incomplete, errors occurred!

    See also "/tmp/qtc-cmake-s5sMQw/CMakeFiles/CMakeOutput.log".

    *** cmake process exited with exit code 1.

    Running "/usr/bin/cmake /home/yongqian/WizNote/WizQTClient '-GCodeBlocks - Unix Makefiles' -DCMAKE_CXX_COMPILER:STRING=/usr/bin/g++ -DQT_QMAKE_EXECUTABLE:STRING=/home/yongqian/Qt5.7.0/5.7/gcc_64/bin/qmake" in /tmp/qtc-cmake-c4Vg32.

    -- The C compiler identification is GNU 5.4.0

    -- The CXX compiler identification is GNU 5.4.0

    -- 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/g++

    -- Check for working CXX compiler: /usr/bin/g++ -- works

    -- Detecting CXX compiler ABI info

    -- Detecting CXX compiler ABI info - done

    -- Detecting CXX compile features

    -- Detecting CXX compile features - done

    -- Performing Test COMPILER_SUPPORTS_CXX11

    -- Performing Test COMPILER_SUPPORTS_CXX11 - Success

    -- Performing Test COMPILER_SUPPORTS_CXX0X

    -- Performing Test COMPILER_SUPPORTS_CXX0X - Success

    -- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)

    -- Looking for sys/types.h

    -- Looking for sys/types.h - found

    -- Looking for stdint.h

    -- Looking for stdint.h - found

    -- Looking for stddef.h

    -- Looking for stddef.h - found

    -- Check size of off64_t

    -- Check size of off64_t - done

    -- Looking for fseeko

    -- Looking for fseeko - found

    -- Looking for unistd.h

    -- Looking for unistd.h - found

    ZLIB not found, using internal: /home/yongqian/WizNote/WizQTClient/lib/zlib

    -- /home/yongqian/WizNote/WizQTClient/resources/wiznote.qrc

    WizNote whill compiling as Release, use Qt: 5.7.0

    -- Configuring done

    CMake Warning (dev) in lib/quazip/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in lib/quazip/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in src/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in src/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in lib/quazip/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in lib/quazip/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in lib/quazip/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in lib/quazip/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in src/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in src/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in src/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in src/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in lib/quazip/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in lib/quazip/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in src/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in src/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in lib/quazip/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in lib/quazip/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in src/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in src/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in lib/quazip/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    CMake Warning (dev) in lib/quazip/CMakeLists.txt:

    Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.

    Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy

    command to set the policy and suppress this warning.

    This warning is for project developers. Use -Wno-dev to suppress it.

     

    -- Generating done

    CMake Warning:

    Manually-specified variables were not used by the project:

     

    QT_QMAKE_EXECUTABLE

     

     

    -- Build files have been written to: /tmp/qtc-cmake-c4Vg32

    }

     

    尝试run一下,经过很长时间的等待,我的机器上大概2分钟

    报错:

    /home/yongqian/WizNote/WizQTClient/lib/quazip/zip.h:56: error: zlib.h: No such file or directory

     

    看来是忘记了 这个:::

    1. sudo apt-get install zlib1g-dev

    { sudo apt-get install zlib1g-dev
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    将会同时安装下列软件:
      zlib1g
    下列【新】软件包将被安装:
      zlib1g-dev
    下列软件包将被升级:
      zlib1g
    升级了 1 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 98 个软件包未被升级。
    需要下载 219 kB 的归档。
    解压缩后会消耗 424 kB 的额外空间。
    您希望继续执行吗? [Y/n] y
    获取:1 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 zlib1g amd64 1:1.2.8.dfsg-2ubuntu4.1 [51.2 kB]
    获取:2 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 zlib1g-dev amd64 1:1.2.8.dfsg-2ubuntu4.1 [168 kB]
    已下载 219 kB,耗时 0秒 (820 kB/s)  
    (正在读取数据库 ... 系统当前共安装有 224086 个文件和目录。)
    正准备解包 .../zlib1g_1%3a1.2.8.dfsg-2ubuntu4.1_amd64.deb  ...
    正在将 zlib1g:amd64 (1:1.2.8.dfsg-2ubuntu4.1) 解包到 (1:1.2.8.dfsg-2ubuntu4) 上 ...
    正在处理用于 libc-bin (2.23-0ubuntu9) 的触发器 ...
    正在设置 zlib1g:amd64 (1:1.2.8.dfsg-2ubuntu4.1) ...
    正在处理用于 libc-bin (2.23-0ubuntu9) 的触发器 ...
    正在选中未选择的软件包 zlib1g-dev:amd64。
    (正在读取数据库 ... 系统当前共安装有 224086 个文件和目录。)
    正准备解包 .../zlib1g-dev_1%3a1.2.8.dfsg-2ubuntu4.1_amd64.deb  ...
    正在解包 zlib1g-dev:amd64 (1:1.2.8.dfsg-2ubuntu4.1) ...
    正在处理用于 man-db (2.7.5-1) 的触发器 ...
    正在设置 zlib1g-dev:amd64 (1:1.2.8.dfsg-2ubuntu4.1) ...
    yongqian@yongqian-ThinkPad-T450s:~/WizNote/WizQTClient$

    }

    and then……

    再一次编译,好激动

    成功喽

    弹出了登录的界面

  • 相关阅读:
    3.28
    03.21
    03.16
    03.15
    03.14小记
    [LC] 96. Unique Binary Search Trees
    [LC] 298. Binary Tree Longest Consecutive Sequence
    [LC] 102. Binary Tree Level Order Traversal
    [LC] 107. Binary Tree Level Order Traversal II
    [LC] 513. Find Bottom Left Tree Value
  • 原文地址:https://www.cnblogs.com/qianheng/p/7069179.html
Copyright © 2011-2022 走看看