文档章节

CMAKE 相关

拉风的道长
 拉风的道长
发布于 2018/09/02 13:48
字数 364
阅读 6
收藏 0

add_subdirectory

添加子文件夹到编译中。文件夹结构比如:

如果子文件mylibs在当前Cmakelists.txt的文件夹下,则可以直接add 例:

add_subdirectory(mylibs)

如果子文件otherlibs不在当前Cmakelists.txt的文件夹下,则如下add 例:

add_subdirectory(../otherlibs otherlibs.out)

其实可以统一到第二种方式,按照不在当前目录下的方式处理。

指定库install输出目录,头文件目录

对于库代码,生成的库需要对外使用,同时还有头文件。

指定库文件的位置:

在Cmakelists.txt中使用如下语句即可:

set(LIBRARY_OUTPUT_PATH yourInstallPath)

yourInstallPath就是你希望放置的文件夹路径

指定头文件的位置

在Cmakelists.txt中使用如下语句即可:

install(FILES xxx.h xxx1.h DESTINATION yourInstallPath)

xxx.h , xxx1.h 就是你希望导出的头文件。 yourInstallPath就是你希望放置的文件夹路径。

Clion注意点

指定库文件的路径在更新Cmakelists.txt的时候就会创建对应的路径。 头文件则会在build之前拷贝过去,库文件则在build结束之后自动拷贝过去。 可能不会自动更新。

Clion的菜单 Run->install 可保证万无一失。最好运行命令:

cmake .
make install

© 著作权归作者所有

共有 人打赏支持
拉风的道长
粉丝 54
博文 110
码字总数 55629
作品 0
昌平
程序员
私信 提问
cmake学习笔记(五)

在cmake 学习笔记(三) 中简单学习了 find_package 的 model 模式,在cmake 学习笔记(四)中了解一个CMakeCache相关的东西。但靠这些知识还是不能看懂PySide使用CMakeLists文件,接下来继续学习...

晨曦之光
2012/05/08
250
0
安装MySQL5.5时常见错误--缺失make

首先我这是一台CentOS release 6.2 (Final),新安装的系统,没有任何软件及库文件。安装mysql5.5之前,先需要大概了解一下,需要注意的信息,mysql5.5的安装与其它版本不同的是编译安装时,需...

SANSOM
2013/08/28
0
0
用cmake生成利用VTK库类的visual studio 2010 MFC工程

最近在学习利用VTK三维编程,但是发现,在国内,相关的知识真的很少,在学习的过程中,遇到了很大的困难,所以就想着把我学到的一些有用的知识写出来,供以后的学习的人参考,我也是一个新手...

zhangwenwen
2012/11/11
0
2
CentOS-64位系统下安装MySQL-5.6.10

1.环境检测: 检测是否已安装mysql: rpm –qa|grep mysql若有检测出与mysql相关的文件,如下, 则,执行 rpm -e --nodeps mysql-libs-5.1.66-2.el63.x8664 进行强制卸载。 2.安装cmake: My...

冰雨凌風
2013/03/29
0
2
Visual Studio 现已支持 CMake

Visual C++ 团队在他们的官方博客上宣布 Visual Studio 现已支持 CMake。 什么是CMake? CMake 是一个跨平台的开源工具,通过抽象本地构建环境和编译器以管理建立跨多平台程序。CMake解析一个...

局长
2016/10/08
14.4K
15

没有更多内容

加载失败,请刷新页面

加载更多

3.系统和内存架构

在设计程序或并发系统时,需要考虑不同的系统和内存架构风格。 支持并发的计算机系统体系结构 1972年,迈克尔弗林(Michael Flynn)给出了用于分类不同风格计算机系统体系结构的分类法。 该分类...

Eappo_Geng
19分钟前
1
0
今天的学习

1,getimagesize:获得目标图像的大小 2,image_type_to_extension:获得目标文件的后缀信息 3,imagealphablending:设定目标图像混色的模式 4,imagechar:水平的画出一个字符 5,imagecharup...

墨冥
23分钟前
1
0
Java线程中yield与join方法的区别

长期以来,多线程问题颇为受到面试官的青睐。虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用。...

飓风2000
46分钟前
3
0
Python的 is 和 == 弄懂了吗?

在Python中一切都是对象。 Python中对象包含的三个基本要素,分别是: id(身份标识) type(数据类型) value(值) 对象之间比较是否相等可以用 == ,也可以用 is 。 is 和 == 都是对对象进行比较...

上海小胖
46分钟前
2
0
angularJS 路由加载js controller 未定义 解决方案

说明 本文主要说明,在angularJS框架使用中,angularJS 路由加载js controller 未定义 解决方案。 路由 $routeProvider 异步加载js 路由的基本用法,请查看官方文档,下面实例只说明,懒加载...

DrChenXX
54分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部