CMake 之 加入自己的库

项目简介:

项目文件夹为:<tutorial>(E:\TEMP\tutorial)

库名为:MyFunctions,内有自定义的计算平方函数

项目功能:主函数调用MyFunctions库内的平方函数

----------------------------------

----------------------------------

第一步:准备好自己的库,库名为:“MyFunctions”

1.在项目文件夹内新建库文件夹<MyFunctions>(E:\TEMP\tutorial\MyFunctions)

2.在库文件夹<MyFunctions>内,创建如下3个文件:

(1)CMakeLists.txt 代码如下:

add_library(MyFunctions mysquare.cxx)

(2)Functions.h 代码如下:

double mysquare(const double a);

(3)mypower.cxx 代码如下:

double mysquare(const double a){
    return a*a;
}

----------------------------------

第二步:搭建一个简单的项目,该项目调用第一步中的库

1. 顶层项目文件夹<tutorial>(E:\TEMP\tutorial)内建立如下2个文件:

  (1)CMakeLists.txt 代码如下:

cmake_minimum_required(VERSION 3.10)

project(Tutorial)

# add the MathFunctions library
add_subdirectory(MyFunctions)

# add the executable
add_executable(Tutorial tutorial.cxx)

target_link_libraries(Tutorial PUBLIC MyFunctions)

# add the binary tree to the search path for include files
# so that we will find TutorialConfig.h
target_include_directories(Tutorial PUBLIC
                          "${PROJECT_BINARY_DIR}"
                          "${PROJECT_SOURCE_DIR}/MyFunctions"
                          )

(2)tutorial.cxx 代码如下:

#include "Functions.h"

#include <iostream>   // std::cout
#include <string>     // std::stod

int main(int argc, char** argv) {
	const double inputValue_a = std::stod(argv[1]);
	const double inputValue_b = std::stod(argv[2]);

	double p = mypower(inputValue_a);

	std::cout <<  "inputValue1 = " << inputValue_a << std::endl;
	std::cout <<  "inputValue2 = " << inputValue_b << std::endl;
	std::cout << inputValue_a << " square = " << p << std::endl;

	return 0;
}

----------------------------------

第三步:用 CMake-gui 配置并生成项目

1. 配置项目

 结束后,项目文件夹内多了<build>文件夹:

 <build>文件夹内容:

  2. 生成项目,并在vs2019中打开:

“Generate” 后,<build>文件夹内容如下:

  “Open Project”后,visual studio 2019 运行并加载tutorial项目

----------------------------------

第四步:在visual studio 2019 内build项目

 Build成功后,<build>文件夹内容如下:

<Debug>文件夹内容:

 ----------------------------------

第五步:测试项目可执行程序

1. 打开cmd.exe,进入可执行程序所在文件夹

2. 输入:Tutorial.exe 3 5

3. 得到输出:

inputValue1 = 2
inputValue2 = 5
2 square = 4

测试结果如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值