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

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

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

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

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

CMake Lists.txt addlib build main.cpp

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

CMake Lists.txt library.cpp library.h

先看各個文件的代碼:

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) # 訴生成一個庫文件。

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) #生成一個可執(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)用。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
    2016-05-05
  • 淺談c++性能測試工具google benchmark

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

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

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

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

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

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

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

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

    VSCode C++多文件編譯的簡單使用方法

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

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

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

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

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

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

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

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

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

最新評論

基隆市| 民县| 阿合奇县| 安义县| 大厂| 闸北区| 亚东县| 那曲县| 栾城县| 洪湖市| 古丈县| 长寿区| 祥云县| 乡宁县| 牙克石市| 利津县| 永修县| 五华县| 巫山县| 大邑县| 云梦县| 邵阳县| 湖北省| 滨州市| 洞头县| 郓城县| 嘉荫县| 竹北市| 万源市| 威海市| 华容县| 武强县| 固阳县| 婺源县| 静安区| 洱源县| 浠水县| 木兰县| 姚安县| 海盐县| 永寿县|