zoukankan      html  css  js  c++  java
  • cmake模板

    1.主要命令

    • project (TEST):指定项目名称为TEST
    • aux_source_directory(<dir> <variable>):将当前目录中的源文件名称赋值给变量 DIR_SRCS
    • include_directories:指定头文件的搜索路径,相当于指定gcc的-I参数
    • link_directories:动态链接库或静态链接库的搜索路径,相当于gcc的-L参数
    • add_executable:编译可执行程序
    • target_link_libraries:添加链接库,相同于指定-l参数

    2.模板

    我们以调用superlu为例进行说明,首先在当前测试目录下建立四个文件夹:include,src,lib,build。其中include放superlu所依赖的.h文件,src放自己编写的文件,lib放superlu的库文件,build目前是一个空文件夹,文件夹结构如下图所示:

    将以下内容考入文件CMakeList.txt中,

    cmake_minimum_required (VERSION 2.6)
    project (TEST)
    
    set (TEST_VERSION 0.1)
    
    set(CMAKE_BUILD_TYPE "Debug")
    set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb -DDEBUG")
    set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
    
    set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../bin)
    
    aux_source_directory(${PROJECT_SOURCE_DIR}/src DIR_SRC)
    
    include_directories(${PROJECT_SOURCE_DIR}/src)
    
    include_directories(${PROJECT_SOURCE_DIR}/include)
    
    link_directories(${PROJECT_SOURCE_DIR}/lib)
    
    add_executable(main ${DIR_SRC})
    
    target_link_libraries(main libsuperlu.a)
    target_link_libraries(main libblas.a)
    

    然后进入目录build下,执行

    cmake ..
    make
    

    执行文件便会自动创建在目录bin下面,下图为执行完后的结构

  • 相关阅读:
    并发工具类的使用 CountDownLatch,CyclicBarrier,Semaphore,Exchanger
    多线程按顺序执行3个方法
    读写锁事例
    使用AQS自定义重入锁
    java 几种锁实现
    Nginx 安装
    Windows 安装mysql
    day--14前端(HTML、CSS)
    day13--开发堡垒机
    day12--python操作mysql
  • 原文地址:https://www.cnblogs.com/qujingtongxiao/p/9867045.html
Copyright © 2011-2022 走看看