当前位置: 首页 > news >正文

广州做创客教室的厂家网站莆田外贸自建网站

广州做创客教室的厂家网站,莆田外贸自建网站,jsp的网站,wordpress 用户 新增虽然编译成功了,但是还是有一些不妥的地方,参考一下就行了。 比如库的版本选择就有待商榷,我这里不是按照项目作者的要求严格用对应的版本编译的,这里也可以注意一下。 编译依赖库asio 下载地址, 更正一下,我其实用…

虽然编译成功了,但是还是有一些不妥的地方,参考一下就行了。

比如库的版本选择就有待商榷,我这里不是按照项目作者的要求严格用对应的版本编译的,这里也可以注意一下。

编译依赖库asio

下载地址, 更正一下,我其实用的是1.13  GitHub - chriskohlhoff/asio at asio-1-12-0https://github.com/chriskohlhoff/asio/tree/asio-1-12-0https://github.com/chriskohlhoff/asio/tree/asio-1-12-0

编译命令

  ./autogen.sh

./configure  --host=arm-buildroot-linux-gnueabihf  --prefix=/home/book/test/asio-asio-1-13-0/asio/install

make 

make install

编译 openssl

下载地址 GitHub - openssl/openssl at OpenSSL_1_1_1lhttps://github.com/openssl/openssl/tree/OpenSSL_1_1_1lhttps://github.com/openssl/openssl/tree/OpenSSL_1_1_1l

编译:

./config no-asm shared no-async --prefix=${inst_dir}  --cross-complie-prefix=arm-buildroot-linux-gnueabihf-

删除makefile 中的 -m64

make 

make install

编译我们的主角 asio-dtls

下载地址:

GitHub - openssl/openssl at OpenSSL_1_1_1lhttps://github.com/openssl/openssl/tree/OpenSSL_1_1_1lhttps://github.com/sdamm/asio_dtls/tree/asio_dtls_1.12.0.0

要修改CMakeLists.txt 才能编译过:

贴出来:

cmake_minimum_required (VERSION 3.2)
project(asio_dtls)
set(OPENSSL_ROOT_DIR  /home/book/test/openssl-OpenSSL_1_1_1l/install)
include_directories(/home/book/test/asio-asio-1-13-0/asio/install/include)

find_program(
  CLANG_TIDY_EXE
  NAMES "clang-tidy"
  DOC "Path to clang-tidy executable"
  )
if(NOT CLANG_TIDY_EXE)
  message(STATUS "clang-tidy not found.")
else()
  message(STATUS "clang-tidy found: ${CLANG_TIDY_EXE}")
  set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-checks=*,-fuchsia-*,-google-runtime-references")

  set(CMAKE_CXX_CLANG_TIDY ${DO_CLANG_TIDY})
endif()


message(STATUS "The value of CMAKE_MODULE_PATH is: ${CMAKE_MODULE_PATH}")
find_package(OpenSSL REQUIRED)

set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
set(asio_header_dir "/home/book/test/asio/asio/install/include" CACHE PATH "Path to the asio library used.")
add_library(asio INTERFACE)
target_include_directories(asio INTERFACE asio_header_dir)

add_library(asio_dtls INTERFACE)
target_include_directories(asio_dtls INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_compile_definitions(asio_dtls INTERFACE ASIO_HEADER_ONLY)
target_link_libraries(asio_dtls INTERFACE OpenSSL::SSL OpenSSL::Crypto Threads::Threads)

set(asio_dtls_sources
    include/asio/ssl/dtls/impl/context.ipp
    include/asio/ssl/dtls/detail/impl/engine.ipp)

set(ASIO_DTLS_PUBLIC_HEADERS
    asio/dtls.hpp
    asio/ssl/dtls/acceptor.hpp
    asio/ssl/dtls/context.hpp
    asio/ssl/dtls/default_cookie_generator.hpp
    asio/ssl/dtls/socket.hpp
    )

option(asio_build_dtls_static "Build asio_dtls as static library" OFF)
if(asio_build_dtls_static)
  add_library(asio_dtls_static STATIC ${asio_dtls_sources})
  target_include_directories(asio_dtls_static PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
  target_link_libraries(asio_dtls_static OpenSSL::SSL OpenSSL::Crypto Threads::Threads)
endif(asio_build_dtls_static)

message(STATUS "CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}")

set(THREADS_PTHREAD_LIB "pthread")
message(STATUS "CMAKE_THREAD_LIBS_INIT=${CMAKE_THREAD_LIBS_INIT}")
option(asio_build_dtls_shared "Build asio_dtls as shared library" ON)
if(asio_build_dtls_shared)
  add_library(asio_dtls_shared SHARED ${asio_dtls_sources})
  set_target_properties(asio_dtls_shared PROPERTIES LINKER_LANGUAGE CXX)
  target_include_directories(asio_dtls_shared PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
  target_link_libraries(asio_dtls_shared OpenSSL::SSL OpenSSL::Crypto Threads::Threads)
endif(asio_build_dtls_shared)

#add_subdirectory(src)

这里测试程序没有编译过,大概是因为测试程序用到了boost,但是我并没有编译boost.

下面展示的是Toolchain.cmake


# Toolchain.cmake
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)

set(CMAKE_C_COMPILER  arm-buildroot-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER arm-buildroot-linux-gnueabihf-g++)

编译命令:

cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain.cmake  ..

重要知识点:

find_package 搜索FindXXX.cmake 的默认目录是/usr/share/cmake-xxx/Modules/

set_target_properties(asio_dtls_shared PROPERTIES LINKER_LANGUAGE CXX)

豆包说:“属性设置项。LINKER_LANGUAGE 是一个属性,用于指定链接器在链接目标时使用的编程语言。CXX 表示 C++ 语言,即告诉 CMake 在链接 asio_dtls_shared 目标时使用 C++ 链接器。”

当时没写这个报了“CMake Error: CMake can not determine linker language for target: asio_dtls_shared
CMake Error: Cannot determine link language for target "asio_dtls_shared".
”错。

http://www.yayakq.cn/news/16316/

相关文章:

  • 网站购物建设实训心得体会做一的同志小说网站
  • 石家庄网站设计建设深圳网站开发公司宝网
  • 网站是哪家公司做的网站建设代理哪个好
  • 企业网站管理系统设计与实现信丰做网站
  • 湖北哪里需要建网站网络营销策划方案展示
  • 微信商城系统哪找wordpress建站优化
  • 做管道方面的网站企业网站建设流程步骤
  • 西宁高端网站建设myapp wordpress
  • 跟建设通一样的网站聊城高唐网站建设公司
  • 土特产网站平台建设网站建设500错误代码
  • 公司网站建设需求说明书河北健康码app官网下载
  • ih5网站制作平台wordpress 字体 服务器
  • 常熟市住房和城乡建设部网站全网营销推广系统
  • 网站建设学多长时间项目管理软件模块
  • 精品课程网站建设设计方案大学校园门户网站建设方案
  • 建设部网站 测绘规章网站建设需要数学
  • 做一个付费网站多少钱北京网站域名备案
  • 白山住房与城乡建设局网站保定 网站建设
  • 天津专业做网站广西城市建设学校手机官方网站
  • 外贸电子网站wordpress密钥生成服务
  • 建立团购网站wordpress知更鸟破解
  • 山东省建设厅网站是app运营方案策划
  • 文昌市建设局网站期货软件定制开发公司
  • 无锡网站制作哪家强保定电商网站建设
  • 网站备份脚本购物网站设计思路
  • 先建网站还是先做网页苏州自学网站建设平台
  • 在什么网站做推广最好福州网站建设服务商
  • 做网站要学哪些代码网站服务器停止响应怎么办
  • phpwind能做网站吗给企业做网站的平台
  • 兰州网站建设托管wordpress发布文章禁用谷歌字体