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的编译脚本即可完成编译。

相关推荐
清风~徐~来4 小时前
【Linux】环境变量
linux·运维·chrome
Willliam_william6 小时前
QEMU学习之路(8)— ARM32通过u-boot 启动Linux
linux·学习·elasticsearch
橘猫0.o8 小时前
【Linux 并发与竞争实验】
linux·运维·服务器·驱动开发
洁✘9 小时前
shell编程正则表达式与文本处理器
linux·运维·正则表达式
深夜面包10 小时前
Ubuntu 安装与配置 Docker
linux·ubuntu·docker
猫猫与橙子10 小时前
ubuntu22.04安装dukto
linux·运维·服务器
2302_7995257410 小时前
【Linux】su、su-、sudo、sudo -i、sudo su - 命令有什么区别?分别适用什么场景?
linux·运维·服务器
正点原子11 小时前
【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——EEPROM、SPI FLASH测试 #AT24C64 #W25Q128
linux·stm32·单片机·嵌入式硬件·stm32mp257
野生派蒙11 小时前
Linux:安装 CentOS 7(完整教程)
linux·运维·服务器·centos
noravinsc11 小时前
centos部署的openstack发布windows虚拟机
linux·windows·centos