zoukankan      html  css  js  c++  java
  • (原)linux下利用cmake来编译jthread开源库

    其实上次在用hisi3531平台的时候,就已经编译过一次这个库了,这次换了平台环境,交叉编译器变成了arm-hisiv100-linux-工具链,所以,没办法只能重新来过。

    因为之前编译过,所以这次还按照编译上次的编译步骤,就会出现错误:原因是因为我没有删除上次cmake生成的一些缓存配置文件,同时我的这次路径又进行更改,所以cmake 会报错,说路径啥的不对,于是简单的方法是删除上次cmake生成遗留下来的所有缓存配置文件,然后就能安装正常的编译步骤进行了。

    下面记录下我的正常编译步骤:

    1)进入jthread-1.3.1目录,修改CMakeList.txt配置文件,将交叉编译工具改为自己的工具:

    我的配置如下:

    cmake_minimum_required(VERSION 2.6)
    
    #告知当前使用的是交叉编译方式  
    SET(CMAKE_SYSTEM_NAME Linux)  
    #设置c编译器  
    SET(CMAKE_C_COMPILER "arm-hisiv200-linux-gcc")  
    #设置c++编译器  
    SET(CMAKE_CXX_COMPILER "arm-hisiv200-linux-g++") 
    
    project(jthread)
    set(VERSION 1.3.1)
    
    set (_DEFAULT_LIBRARY_INSTALL_DIR lib)
    if (EXISTS "${CMAKE_INSTALL_PREFIX}/lib32/" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
        set (_DEFAULT_LIBRARY_INSTALL_DIR lib32)
    elseif (EXISTS "${CMAKE_INSTALL_PREFIX}/lib64/" AND CMAKE_SIZEOF_VOID_P EQUAL 8)
        set (_DEFAULT_LIBRARY_INSTALL_DIR lib64)
    endif ()
    
    set(LIBRARY_INSTALL_DIR "${_DEFAULT_LIBRARY_INSTALL_DIR}" CACHE PATH "Library installation directory")
    if(NOT IS_ABSOLUTE "${LIBRARY_INSTALL_DIR}")
        set(LIBRARY_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIBRARY_INSTALL_DIR}")
    endif()
    
    find_package(Threads)
    if (NOT CMAKE_USE_WIN32_THREADS_INIT)
        if (NOT CMAKE_USE_PTHREADS_INIT)
            message(FATAL_ERROR "Can find neither pthread support nor Win32 thread support")
        endif (NOT CMAKE_USE_PTHREADS_INIT)
    endif (NOT CMAKE_USE_WIN32_THREADS_INIT)
    
    add_subdirectory(src)
    View Code

    2)运行 “cmake  CMakeList.txt” 配置jthread-1.3.1,这时候会生成特定的这次编译的配置缓存文件。

    3)执行make 

    4)运行make install,这时候会安装到/usr/local/的各个目录下。

  • 相关阅读:
    oracle 导入数据时提示只有 DBA 才能导入由其他 DBA 导出的文件
    oracle 常用语句
    android udp 无法收到数据 (模拟器中)
    android DatagramSocket send 发送数据出错
    AtCoder ABC 128E Roadwork
    AtCoder ABC 128D equeue
    AtCoder ABC 127F Absolute Minima
    AtCoder ABC 127E Cell Distance
    CodeForces 1166E The LCMs Must be Large
    CodeForces 1166D Cute Sequences
  • 原文地址:https://www.cnblogs.com/lihaiping/p/5476711.html
Copyright © 2011-2022 走看看