cmake 创建并调用动态库和静态库
编程之路刚刚开始,错误难免,希望大家能够指出。
刚刚开始学习cmake,写这篇之前我认真的看了“小代码2016”的博客,感觉很不错,看完之后我自己练习了一遍,记录一下。
1.首先建立好合适的目录结构,便于自己和他人查看。

build目录:是为了将cmake生成的CMakeCache.txt Makefile等等都统一存放在build目录下,删除的时候更加方便。
2.编写好程序
/* add.h */
#ifndef _ADD_H_
#define _ADD_H_ #include <stdio.h> int add(int a,int b); #endif /* add.c */
#include "../../include/add.h" int add(int a,int b)
{
return a+b;
} /* main.c */
#include "add.h"
#include <stdio.h> int main(void)
{
int retval = add(,);
printf("retval = %d\n",retval); return ;
}
3.4个CMakeLists.txt:
顶层目录

src目录

src/main目录

src/source目录

4.执行结果

推荐链接:http://blog.csdn.net/wzzfeitian/article/details/40963457
cmake 创建并调用动态库和静态库的更多相关文章
- # 2017-2018-2 20155228 《信息安全系统设计原理》 使用VirtualStudio2008创建和调用静态库和使用VirtualC++6.0创建和调用动态库
		
使用virtual c++ 6.0创建和调用动态库 不得不说一下关于环境的问题 只要我打一个响指,一半的安装在win7上的VC6.0都会因为兼容性问题直接崩掉 懒得研究怎么解决兼容性的问题了,直接开一 ...
 - windows 创建和调用   动态库,静态库
		
windows创建和调用静态库 // MathFuncsLib.h namespace MathFuncs { class MyMathFuncs { public: // Returns a + b ...
 - 1. CMake 系列 - 从零构建动态库和静态库
		
目录 1. 文件目录结构 2. 库文件源代码 3. 编译生成库文件 1. 文件目录结构 首先创建如下目录结构: └── lib ├── build # ├── CMakeLists.txt └── s ...
 - VC 静态库与动态库(二)静态库创建与使用
		
1.新建项目,创建项目和解决方案 StaticLibrary 这是静态库项目 G:\C++Learn\Library Library文件夹用于存放库相关文件,包含静态库与后面的动态库工程和解决方案 ...
 - 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件
		
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...
 - Android:JNI与NDK(二)交叉编译与动态库,静态库
		
欢迎关注公众号,第一时间获取最新文章: 本篇目录 一.前言 本篇主要以window开发环境为背景介绍一下NDK开发中需要掌握的交叉编译等基础知识,选window系统主要是照顾大多数读者,mac ,li ...
 - 动态库与静态库的学习  博主写的很好   静态库 编译的时候 需要加上 static   动态库编译ok运行不成功就按照文章中的方法修改
		
来源连接 http://www.cnblogs.com/skynet/p/3372855.html C++静态库与动态库 这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库 ...
 - ios 开发中 动态库 与静态库的区别
		
使用静态库的好处 1,模块化,分工合作 2,避免少量改动经常导致大量的重复编译连接 3,也可以重用,注意不是共享使用 动态库使用有如下好处: 1使用动态库,可以将最终可执行文件体积缩小 2使用动态库, ...
 - Linux中的动态库和静态库(.a/.la/.so/.o)
		
Linux中的动态库和静态库(.a/.la/.so/.o) Linux中的动态库和静态库(.a/.la/.so/.o) C/C++程序编译的过程 .o文件(目标文件) 创建atoi.o 使用atoi. ...
 
随机推荐
- JavaScript -基础- 函数与对象(三)Date对象
			
一.Date对象 1.创建方法 var date_obj=new Date(); alert(date_obj.toLocaleString()) var date_obj=new Date(&quo ...
 - 8.3 C++格式标识和操纵器
			
参考:http://www.weixueyuan.net/view/6409.html 总结: 我们需要借助格式标识符来控制cout对象的输出格式. 在ios_base类中,系统已经定义了很多格式标识 ...
 - 6.4 C++提取子字符串及字符串的比较
			
参考:http://www.weixueyuan.net/view/6393.html 总结: 函数substr可以提取string字符串中的子字符串,该函数有两个参数,第一个参数为需要提取的子字符串 ...
 - angular自定义指令
			
1.在directive文件下创建指令的js文件 通常自定义指令需要声明模块(注意定义指令时, js内部指令名称需采用 aaAaBb驼峰的命名方式 html中使用的是aa-aa-bb) e.g (f ...
 - CodeMix入门基础知识
			
CodeMix在线订购年终抄底促销!火爆开抢>> CodeMix入门 CodeMix是一个Eclipse插件,可以直接从Eclipse访问VS Code和为Code OSS构建的附加扩展的 ...
 - IasS,CasS,PasS,SasS的区别
			
IasS: (Infrastructure-as-a-Service(基础设施即服务)) 租用的是硬件,服务器,物理机等 CasS: (container as a Service) 容器服务 租用的 ...
 - Linux文件系统命令 rm
			
命令名:rm 功能:删除某一个文件或者目录 eg: renjg@renjg-HP-Compaq-Pro--MT:~/WorkSpace$ ls BM3 gf k8s minicom_download ...
 - 类的无参方法和Doc注释
			
一:Java Doc注释: 语法: /** *AccpSchool 类 *@author JadeBird *@version 1.0 2018/5/26 */ Java Doc是前Sun公司提供的一 ...
 - L248  词汇题 2006
			
The audience, hostile at first, were greatly impressed by her excellent performance. He wanted to st ...
 - 九、编写led驱动
			
led.c #include <linux/init.h> #include <linux/module.h> #include <linux/cdev.h> #i ...