本月博客排行
-
第1名
龙儿筝 -
第2名
johnsmith9th -
第3名
wy_19921005 - zysnba
- sgqt
- lemonhandsome
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- qepwqnp
- e_e
- 解宜然
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- gaojingsong
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- jh108020
- lemonhandsome
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- lzyfn123
- zhanjia
- forestqqqq
- johnsmith9th
- nychen2000
- ajinn
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- silverend
- mwhgJava
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
最新文章列表
CMake官方文档翻译索引
本文是转载!!!
本文是转载!!!
本文是转载!!!
原博客地址:https://www.cnblogs.com/coderfenghc/archive/2013/01/20/2846621.html
最近看ros里的CMakeLists.t ...
centos7 安装cmake 3.4.1
os:centos6.5
cmake版本:3.3.2
安装编译源码所需的工具和库
yum install gcc gcc-c++ ncurses-devel perl
下载cmake
使用wget工具,若没有安装wget ,先通用 yum 安装wget
yum install wget -y
再执行 wget 命令:
wget https://cm ...
cmake与autoconf+automake的对比
首先,拿他们对比本身没有太多的意义,他们都是产生makefile文件的工具。cmake产生的晚,解决了很多autotools工具的问题。autotools是一个工具集具有强大的灵活性,但是因为步骤太多,配置繁琐,产生了很多的替代方案,cmake是其中最优秀的之一。当然很多其他替代品不会产生makefile文件而直接具有make的功能了。看到下图,你是不是感觉有些发晕。
不过还好,它是“八股 ...
CMake指定目标代码的平台(win32,x64)
主要参考自:http://blog.csdn.net/yxnyxnyxnyxnyxn/article/details/10147461#
cmake-gui用法参见:http://www.cnblogs.com/freedomshe/archive/2013/01/11/win7_vs2012_opencv_rebuild.html
1、指 ...
[cmake 3.5]使用自身集成的FindProtobuf来生成并构建proto代码
使用FindProtobuf,可以不用手动执行protoc命令,nmake的时候自动去执行protoc,然后再编译链接生成静态库。如果proto文件之间有相互引用(使用了import),貌似会有问题,这个不知道当前版修复没,后面有空再测。
目录结构:
/proto-build
|—— build/ #empty, used for cmake bu ...
[cmake]如何在cmake生成完毕后自动执行其他命令,比如nmake
CMakeLists.txt中添加配置:
add_custom_command
官方文档:
https://cmake.org/cmake/help/v3.5/command/add_custom_command.html
参考:
http://stackoverflow.com/questions/15115075/how-to-run-ctest-after-buildi ...
[cmake 2.x]解析protobuf模版(*.proto)并构建其C++代码
有两种方式,一种是使用cmake自带的FindProtobuf module,这个模块内部集成了生成代码命令的操作,用起来最方便;另外一种是将protoc命令集成到CMakeLists.txt中,这种要麻烦点。
自带的FindProtobuf
方法如下:
使用cmake自带的FindProtobuf解析protobuf
http://www.leoox.com/?p=285
...
[cmake]示例:构建引用了protobuf第三方库的工程
演示下cmake如何构建引用了第三方库的C++工程,这里第三方库已protobuf-lite为例。
1,我们用protobuf生成一个简单的c++代码,模版文件如下,test.proto:
package HProtocol;
option optimize_for = LITE_RUNTIME;
message add {
required int32 val = ...
[cmake]windows下构建简单入门示例
1,编写C++代码app.cpp:
#pragma once
#include <cstdio>
int main(char** args, int size)
{
#ifdef _DEBUG
printf("debug\n");
#endif
#ifdef NDEBUG
printf("release\n&quo ...
[cmake]如何设置Debug和Release编译模式
一般Debug和Release必须在不同的目录下编译,否则每次当切换模式时必须把编译文件全部删掉。
这里假设新建两个目录Debug和Release来分别用于构建相应的模式:
mkdir Release
cd Release
cmake -DCMAKE_BUILD_TYPE=Release ..
make
mkdir Debug
cd Debug
cmake ...
[cmake]有没清理所有编译生成文件的clean命令
答案是没有。
推荐等价于clean的方法:
在你的source目录之外建一个build目录,在这个build目录下进行cmake,如果想清理,删掉build下所有文件即可:
mkdir build
cd build
cmake ..
make
参考:
http://stackoverflow.com/questions/27247123/how-to-clean- ...
[cmake]target_link_libraries参数:PRIVATE、PUBLIC、INTERFACE三者区别
原文:
CMake target_link_libraries Interface Dependencies
http://stackoverflow.com/questions/26037954/cmake-target-link-libraries-interface-dependencies
If you are creating a shared library ...
[cmake]如何使用通配符同时添加多个lib库文件依赖
比如boost有很多库,如果都要引用,最原始的方法就是一个一个添加:
target_link_libraries(${TARGET} PRIVATE
"${BOOST_PATH}/libboost_filesystem.a"
"${BOOST_PATH}/libboost_system.a"
"${BOOST_PATH}/ ...
cmake3.x构建生成静态链接库和动态链接库的方法
CMakeLists.txt写法示例,假设生成的lib名字为archive:
动态库
add_library(archive SHARED archive.cpp zip.cpp lzma.cpp)
静态库
add_library(archive STATIC archive.cpp zip.cpp lzma.cpp)
官方文档:
https://cmake.o ...
cmake构建时指定编译器架构(x86 or x64)
Windows
vs2015 x64编译器为例,cmake命令如下:
cmake -G "Visual Studio 14 Win64" path\to\source\dir
去掉Win64,就是32bit:
cmake -G "Visual Studio 14" path\to\source\dir
另外一种等价方式,用命令行参数-A来指 ...
MySQL 安装 CMake Error CMAKE_CXX_COMPILER not set
原文链接:http://my.oschina.net/u/249914/blog/177234
新装的机器Gnome-Ubuntu-13.10,编译安装mysql-5.6.14.tar.gz
命令
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/database/mysql5.6
-DSYSCONFDIR=/usr/local/databa ...
cmake参数与命令详解
原文:http://blog.csdn.net/dbzhang800/article/details/6329068
在 Cmake学习笔记一 中通过一串小例子简单学习了cmake 的使用方式。
这次应该简单看看语法和常用的命令了。
简单的语法
注释
# 我是注释
命令语法
COMMAND(参数1 参数2 ...)
字符串列表
A;B;C # 分号分割或空格分 ...
[cmake]添加依赖库的两种方式:从源码编译和使用已编译好的库
源码编译依赖库
示例,假设构建生成的可执行文件为zipapp,该文件依赖第三方库archive,链接archive库时从源码编译生成lib:
add_library(archive archive.cpp zip.cpp lzma.cpp)
add_executable(zipapp zipapp.cpp)
target_link_libraries(zipapp archive) ...