linux下交叉编译licensecc

本文章只做个人笔记用

下载地址:

复制代码
#https://github.com/open-license-manager/licensecc.git
#下面地址下不下来就是用第一个去官网下载

git clone --recursive https://github.com/open-license-manager/licensecc.git

编译前准备3个库:openssl,lcc-license-generator ,zlib-1.3.1

这个库需要用到openssl的版本是1.0.0以上,因为版本太低里面的函数没有。编译这个库之前需要编译boost,之前写过编译boots。下载**lcc-license-generator**库

复制代码
https://github.com/open-license-manager/lcc-license-generator.git

1.默认openssl zlib库编译没问题。开始编译lcc-license-generator:指定安装路径;制定boost路径,指定交叉编译器路径

复制代码
cd lcc-license-generator-develop/build
cmake .. -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_TOOLCHAIN_FILE=/home/t113_tq.cmake -DBOOST_ROOT=/home/boost_1_78_0
make
make install

编译结果如下,至此lcc-license-generator编译完成。

复制代码
axx@axx:/home/code/axx/project_5g_unit/conference/thirdpart/lcc-license-generator-develop/build$ cmake .. -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_TOOLCHAIN_FILE=/home/code/axx/project_5g_unit/conference/thirdpart/t113_tq.cmake -DBOOST_ROOT=/home/code/axx/project_5g_unit/conference/thirdpart/boost_1_78_0
-- Found openssl version 1.1.1 - generator
CMake Warning at /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
  /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:102 (find_package)


CMake Warning at /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
  /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:102 (find_package)


CMake Warning at /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
  /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:102 (find_package)


CMake Warning at /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
  /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:102 (find_package)


CMake Warning at /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1187 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1311 (_Boost_COMPONENT_DEPENDENCIES)
  /opt/cmake-3.18.0/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:102 (find_package)


-- CXX compiler              : /usr/bin/c++
-- CXX compiler flags        : 
-- CXX compiler flags debug  : -g
-- CXX compiler flags release: -O3 -DNDEBUG
-- Install prefix            : /home/code/lixd/project_5g_unit/conference/thirdpart/lcc-license-generator-develop/install
-- External libs             : -lpthread
-- Exporting current build directory
CMake Warning at src/license_generator/CMakeLists.txt:36 (export):
  Cannot create package registry file:

    /home/swan/.cmake/packages/lccgen/0a279ca82ac3ae27827040e8592103ad

  No such file or directory



-- Configuring done
-- Generating done
-- Build files have been written to: /home/code/axx/project_5g_unit/conference/thirdpart/lcc-license-generator-develop/build

2.编译licensecc

bash 复制代码
cd licensecc
rm -rf ./build
mkdir build
cd build

MyDIR="/home/code/axx/lib"

echo "Enter a number between 1 and 2 to select Compilation toolchain"
echo " 1 :gcc "
case $num in
    1) echo "You entered 1"  
        cmake \
        .. \
        -DCMAKE_TOOLCHAIN_FILE=../t113_tq.cmake \
        -DCMAKE_INSTALL_PREFIX=$MyDIR/build_t113 \
        -DBOOST_ROOT=/home/code/axx/project_5g_unit/conference/thirdpart/boost_1_78_0 \
        ;; 
    *)
        echo "Invalid number"
        ;;
esac 
make 
make install

在使用 CMake 配置 Licensecc 时,可以通过 -DLCC_PROJECT_NAME=<YourProjectName> 指定你的项目名称。这将创建一个以项目名称命名的文件夹,在 licensecc/projects/ 目录下,并包含项目的私钥和公钥

t113_tq.cmake 内容如下:

bash 复制代码
set (CMAKE_CXX_STANDARD 11)
set (CMAKE_CXX_STANDARD_REQUIRED True)
SET (CMAKE_SYSTEM_NAME Linux)
SET (CMAKE_SYSTEM_PROCESSOR arm)
SET (CMAKE_SYSTEM_VERSION 1)  
SET (CMAKE_C_FLAGS "-I/home/sdk/t113_tq/TQT113_linux_V2.0/out/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi/arm-linux-gnueabi/libc/usr/include")
SET (CMAKE_C_COMPILER /home/sdk/t113_tq/TQT113_linux_V2.0/out/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc)
SET (CMAKE_CXX_COMPILER /home/sdk/t113_tq/TQT113_linux_V2.0/out/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-g++)
SET (CMAKE_FIND_ROOT_PATH /home/sdk/t113_tq/TQT113_linux_V2.0/out/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi)
SET (STAGING_DIR /home/sdk/t113_tq/TQT113_linux_V2.0/out/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi/bin)



SET (OPENSSL_ROOT_DIR /home/code/axx/project_5g_unit/conference/lib/build_t113)
SET (OPENSSL_CRYPTO_LIBRARY /home/code/axx/project_5g_unit/conference/lib/build_t113/lib)
SET (OPENSSL_INCLUDE_DIR /home/code/axx/project_5g_unit/conference/lib/build_t113/include)
SET (OPENSSL_SSL_LIBRARY /home/code/axx/project_5g_unit/conference/lib/build_t113/lib)

#using for licensecc
include_directories(/home/sdk/t113_tq/TQT113_linux_V2.0/out/t113/evb1_auto/buildroot/buildroot/host/arm-buildroot-linux-gnueabi/sysroot/usr/include)
SET (ZLIB_LIBRARY /home/code/axx/project_5g_unit/conference/lib/build_t113/lib)
SET (ZLIB_INCLUDE_DIR /home/code/axx/project_5g_unit/conference/lib/build_t113/include)

SET (lccgen_DIR /home/code/axx/project_5g_unit/conference/thirdpart/lcc-license-generator-develop/build)
SET (Boost_INCLUDE_DIR /home/code/axx/project_5g_unit/conference/thirdpart/boost_1_78_0/install/include)
SET (Boost_LIBRARY /home/code/axx/project_5g_unit/conference/thirdpart/boost_1_78_0/install/lib)

#using for licensecc

执行2的编译脚本即可完成编译。

相关推荐
博语小屋2 小时前
设计一个简单的网络计算器并将其守护进程化
linux·网络·tcp/ip
星火开发设计2 小时前
枚举类 enum class:强类型枚举的优势
linux·开发语言·c++·学习·算法·知识
喜欢吃燃面7 小时前
Linux:环境变量
linux·开发语言·学习
佑白雪乐10 小时前
<Linux基础第10集>复习前面内容
linux·运维·服务器
春日见10 小时前
自动驾驶规划控制决策知识点扫盲
linux·运维·服务器·人工智能·机器学习·自动驾驶
暮云星影11 小时前
四、linux系统 应用开发:UI开发环境配置概述 (三)
linux·ui·arm
迷途知返-12 小时前
服务器——那些年我踩过的坑
linux
landonVM12 小时前
Linux 上搭建 Web 服务器
linux·服务器·前端
云游云记12 小时前
nesbot/carbon 常用功能总结
linux·运维·服务器
慵懒的猫mi13 小时前
从XDG正式支持如意玲珑(Linyaps)看如意玲珑的发展与架构演进
linux·开源软件·deepin