最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

實(shí)例分享cmake編譯一個(gè)簡(jiǎn)單c++項(xiàng)目(demo)

 更新時(shí)間:2020年02月14日 21:45:56   投稿:mdxy-dxy  
下面通過一個(gè)小例子來說明cmake編譯一個(gè)c++項(xiàng)目,生成可執(zhí)行文件,需要的朋友可以參考下

下面通過一個(gè)小例子來說明cmake編譯一個(gè)c++項(xiàng)目,生成可執(zhí)行文件:

整理目錄結(jié)構(gòu):

CMake Lists.txt addlib build main.cpp

電腦上沒有tree命令,也不大敢截圖,將就著看看,其中build是cmake編譯指定的路徑,addlib下面也有一個(gè)頭文件和源文件  ,還有一個(gè)CmakeLists.txt,可以看下:

CMake Lists.txt library.cpp library.h

先看各個(gè)文件的代碼:

addlib/library.h:

#ifndef CPPPROJECT_LIBRARY_H
#define CPPPROJECT_LIBRARY_H
 
int acc_add(int);
 
#endif

addlib/library.cpp:

#include "library.h"
#include <iostream>
 
void hello(){
  std::cout<<"hello world"<<std::endl;
}
 
 
int acc_add(int n){
  int sum=0;
  for(int i=0;i<n;i++){
    sum+=i;
  }
  return sum;
}

addlib/CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)
project(accliblibrary)
 
set(CMAKE_CXX_STANDARD 11)
 
add_library(accliblibrary SHARED library.cpp library.h) # 訴生成一個(gè)庫文件。

main.cpp:

#include <iostream>
#include <string>
#include "addlib/library.h"
using namespace std;
int main(){
 int n=10;
 int ans=acc_add(n);
 cout<<"1+....+"<<n<<"="<<ans<<endl;
  return 0;
}

CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)
project(cppproject)
 
set(CMAKE_CXX_STANDARD 11)
 
add_subdirectory(acclib)
 
 
add_executable(cppproject main.cpp) #生成一個(gè)可執(zhí)行的文件
 
target_link_libraries(cppproject accliblibrary)

下面就是編譯該項(xiàng)目,生成可執(zhí)行文件:

cd build/

cmake ..

-- The C compiler identification is AppleClang 8.0.0.8000042
-- The CXX compiler identification is AppleClang 8.0.0.8000042
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/zhoumeixu/Documents/cmakedemo/build

make:

Scanning dependencies of target addliblibrary
[ 25%] Building CXX object addlib/CMakeFiles/addliblibrary.dir/library.cpp.o
[ 50%] Linking CXX shared library libaddliblibrary.dylib
[ 50%] Built target addliblibrary
Scanning dependencies of target cmakedemo
[ 75%] Building CXX object CMakeFiles/cmakedemo.dir/main.cpp.o
[100%] Linking CXX executable cmakedemo
[100%] Built target cmakedemo

./cmakedemo

1+....+10=45

這篇文章就介紹下面,下面腳本之家小編將繼續(xù)為大家介紹

相關(guān)文章

  • 淺析成員函數(shù)和常成員函數(shù)的調(diào)用

    淺析成員函數(shù)和常成員函數(shù)的調(diào)用

    下面小編就為大家?guī)硪黄獪\析成員函數(shù)和常成員函數(shù)的調(diào)用。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過來看看吧
    2016-05-05
  • 淺談c++性能測(cè)試工具google benchmark

    淺談c++性能測(cè)試工具google benchmark

    本文將會(huì)介紹如何使用模板以及參數(shù)生成器來批量生成測(cè)試用例,簡(jiǎn)化繁瑣的性能測(cè)試代碼
    2021-06-06
  • 十分鐘學(xué)會(huì)C++?Traits

    十分鐘學(xué)會(huì)C++?Traits

    本文試圖以最簡(jiǎn)潔的方式闡述對(duì)C++?traits?的理解,當(dāng)你理解了第二個(gè)例子的時(shí)候,相信你已經(jīng)理解了C++?traits,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-02-02
  • C++時(shí)間戳轉(zhuǎn)換成日期時(shí)間的步驟和示例代碼

    C++時(shí)間戳轉(zhuǎn)換成日期時(shí)間的步驟和示例代碼

    這篇文章主要介紹了C++時(shí)間戳轉(zhuǎn)換成日期時(shí)間的步驟和示例代碼,需要的朋友可以參考下
    2016-12-12
  • 用C語言求冪函數(shù)和指數(shù)函數(shù)的方法

    用C語言求冪函數(shù)和指數(shù)函數(shù)的方法

    這篇文章主要介紹了用C語言求冪函數(shù)和指數(shù)函數(shù)的方法,即pow()函數(shù)和sqrt()函數(shù)的使用,需要的朋友可以參考下
    2015-08-08
  • VSCode C++多文件編譯的簡(jiǎn)單使用方法

    VSCode C++多文件編譯的簡(jiǎn)單使用方法

    這篇文章主要介紹了VSCode C++多文件編譯的簡(jiǎn)單使用方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • 解析Linux下C++編譯和鏈接

    解析Linux下C++編譯和鏈接

    編譯&鏈接對(duì)C&C++程序員既熟悉又陌生,熟悉在于每份代碼都要經(jīng)歷編譯&鏈接過程,陌生在于大部分人并不會(huì)刻意關(guān)注編譯&鏈接的原理。本文通過開發(fā)過程中碰到的四個(gè)典型問題來探索64位linux下C++編譯&鏈接的那些事。
    2021-05-05
  • C語言源碼實(shí)現(xiàn)俄羅斯方塊

    C語言源碼實(shí)現(xiàn)俄羅斯方塊

    這篇文章主要為大家詳細(xì)介紹了C語言源碼實(shí)現(xiàn)俄羅斯方塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 基于opencv的行人檢測(cè)(支持圖片視頻)

    基于opencv的行人檢測(cè)(支持圖片視頻)

    本文主要介紹了基于opencv的行人檢測(cè)(支持圖片視頻),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • C++實(shí)現(xiàn)訪問者模式的基礎(chǔ)介紹

    C++實(shí)現(xiàn)訪問者模式的基礎(chǔ)介紹

    訪問者模式表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中各元素的操作,它使我們可以在不改變各元素的類的前提下定義作用于這些元素的新操作。對(duì)C++訪問者模式相關(guān)知識(shí)感興趣的朋友一起看看吧
    2021-09-09

最新評(píng)論

定襄县| 遂宁市| 孟州市| 香格里拉县| 怀远县| 兰溪市| 济南市| 永川市| 班玛县| 宣化县| 永康市| 冀州市| 古浪县| 凉城县| 肥西县| 虎林市| 哈密市| 汕头市| 夏津县| 灌南县| 剑川县| 精河县| 峡江县| 安仁县| 新宁县| 平江县| 凤冈县| 诸城市| 临猗县| 秦安县| 内黄县| 页游| 宝山区| 巴彦淖尔市| 平阴县| 甘谷县| 安溪县| 拉萨市| 沙田区| 灵宝市| 溆浦县|