cmakelist】的更多相关文章

Android Studio2.2之后直接可以在创建工程时添加NDK支持了,添加之后,main文件夹下会多出一个native-lib.cpp这个文件,如果只为了一个简单的NDK接口,貌似这就结束了.直接在native-lib.cpp下编程即可. 但是,如果使用第三方库,就得重新配置了.到目前为止,网上大半文章都是.mk的配置方法,按照他们的步骤,在AS上一步一步做下去好像很难成功. Android Studio2.2使用Cmake作为跨平台编译工具,创建完一个工程后,JNI的配置都由Cmake来…
源文件imageBasics.cpp #include <iostream> #include <chrono> using namespace std; #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> int main ( int argc, char** argv ) { // 读取argv[1]指定的图像 cv::Mat image; image = cv:…
单个源文件下CmakeList.txt 1. main.c代码 & CmakeLists.txt 文件内容 在任意自己选定的目录下(t1/)编写main.c 与 CmakeLists.txt main.c 文件内容: //main.c #include <stdio.h> int main() { printf("Hello World from t1 Main!\n"); return 0; } CMakeLists.txt 文件内容: PROJECT (HELL…
基本元素 首先cmaklist必须包括以下几个部分: #工程名 project(study_case) #cmake最低版本需求 cmake_minimum_required(VERSION 2.8.3) #添加添加需要的库 set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/usr/local/share/OpenCV") find_package(OpenCV 3.2.0 REQUIRED) #确定需要的头文件 include_director…
有很多 的时候我们使用别人的程序包.然后添加东西的时候缺少什么东西,会使程序编译不过去,甚至无法运行,接下来介绍一下cmakelist.txt 的每一行的作用.为了以后添加和修改方便. 2.整体结构和订购您的CMakeLists.txt文件必须遵循此格式,否则您的包将无法正确构建. 配置中的顺序计数. 所需CMake版本(cmake_minimum_required) 软件包名称(project()) 查找构建所需的其他CMake / Catkin软件包(find_package()) 启用Py…
http://techbase.kde.org/Development/Tutorials/CMake_(zh_CN) http://www.cmake.org/Wiki/CMake 这一章将从软件开发人员的角度来描写叙述怎样有用CMake.也就是说.假设你的目标是用CMake来管理你的生成过程,请阅读这一章. CMake的输入 COMMAND(args) 这里的 COMMAND 是命令行的名称.args是用空格切割的參数列表.典型的,对与每个项目的文件夹存在一个CMakeLists.txt.…
cmake_minimum_required(VERSION 2.6 FATAL_ERROR) cmake_policy(VERSION 2.6) # . Project Name project(svp-env NONE) # . Project Build string(TOUPPER $ENV{SVP_PLATFORM} SVP_PLATFORM) string(TOUPPER $ENV{SVP_BASELINE} SVP_BASELINE) set(SVP_UPSTREAM_VERSIO…
cmake 添加头文件目录,链接动态.静态库 罗列一下cmake常用的命令. CMake支持大写.小写.混合大小写的命令. 1. 添加头文件目录INCLUDE_DIRECTORIES 语法: include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...]) 它相当于g++选项中的-I参数的作用,也相当于环境变量中增加路径到CPLUS_INCLUDE_PATH变量的作用. include_directories(../../../thirdp…
cmake使用示例与整理总结 http://blog.csdn.net/wzzfeitian/article/details/40963457/ 对应的demo:https://github.com/carl-wang-cn/demo/tree/master/cmakeCMakeList学习 参考资源http://www.cnblogs.com/wengzilin/p/4466708.html 官方文档:https://cmake.org/cmake/help/v3.0/manual/cmake…
CMake 使用方法 & CMakeList.txt cmake 简介 CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake. CMake 使用方法 CMake的所有的语句都写在一个叫:CMakeLists.txt的文件中.当CMakeLists.txt文件确定后,可以用ccmake命令对相关 的变量值进行配置.这个命令必须指向CMa…
这里写代码片Android开发常常遇到Java调用so文件的情况,本文介绍一下Google最近新推出的应用在android studio中的方法–cmakelist.txt格式调用. so文件分为jni格式的和非jni格式的,java只能调用jni格式的so文件.本文介绍的是针对ndk生成的非jni格式的so文件调用. 首先是对非jni格式的so文件进行处理,声明一个.h文件,将so文件中的方法包进去,之后将.h文件和so文件放在一个目录下(之后需要对目录进行设置),在系统生成的native-l…
注:若需要参考rhel7上安装MySQL 请 点击此处 1.下面MySQL链接库版本用到了boost(若需要请到官网下载最新链接库和文档和C++连接数据库操作示例) Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), Compressed TAR Archive 2.下载boost(若需要请到官网下载最新版本) boost_1_64_0.tar.gz 3.CMakeList.txt(初学写的不好) cmake_minimum_re…
cmake_minimum_required(VERSION 3.6) project(capi_lua) include_directories(/usr/include) find_library(LUALIB lua /usr/lib) set(SOURCE_FILES main.c) add_executable(capi_lua ${SOURCE_FILES}) target_link_libraries(capi_lua ${LUALIB}) 1.使用include_director…
在LINUX下面编程需要注意的是,需要自己配置链接库,比如 TARGET_LINK_LIBRARIES(),需要把自己要加的库加进去…
介绍一个比较实用的例子,即包含生成静态库又包含引入外部头文件和链接库的cmake demo. 先按照工程规范建立工程目录,并编写代码,以下面的工程目录为例进行解释这个例子,工程的目录结构为: 1. 编写CMakeLists.txt 由于一个工程目录中包含多个项目,其中在此项目中包含util项目和main项目,其中util项目是用以生成main程序需要的静态库,main是用以生成可执行文件. 在工程项目中的父目录向有一个CMakeLists.txt是用以声明定义工程需要的Cmake设置还定义了子目…
#project namePROJECT(test_math)    指定生成的工程名为test_math #head file path     INCLUDE_DIRECTORIES(include)     指定头文件目录为include #source directoryAUX_SOURCE_DIRECTORY(src DIR_SRCS)     指定源文件目录为src,并将其赋值给环境变量DIR_SRCS #set environment variableSET(TEST_MATH $…
cmake_symlink_library: System Error: Operation not supported 1/创建链接不成功,要确认当前帐户下是否有权限在编译的目录中有创建链接的权限 我使用vmware,在win7机器的共享目录中编译,无法创建链接,就会提示上面的错误. 解决办法是,把源码复制到linux的本地目录中,比如/home等,在本地目录中编译就不会有这个问题.…
https://www.cnblogs.com/chenxibobo/p/7678389.html…
list(LENGTH <list><output variable>) list(GET <list> <elementindex> [<element index> ...]<output variable>) list(APPEND <list><element> [<element> ...]) list(FIND <list> <value><output v…
CMAKE 常见指令 CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(XXX) SET(CMAKE_BUILD_TYPE Release) SET(CMAKE_CXX_FLAGS "-std=c++11 -O2 -mfloat-abi=hard -mfpu=neon") #micro #ADD_DEFINITIONS( -DDDDDDDDD) #include and libs path SET(INCLUDE_PATH . ../ /usr/i…
set(CMAKE_INCLUDE_CURRENT_DIR ON)#CMAKE_INCLUDE_CURRENT_DIR equal to INCLUDE_DIRECTORY(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})CMAKE_INCLUDE_CURRENT_DIR Automatically add the current source- and build directories to the include path.…
在linux 下进行开发很多人选择编写makefile 文件进行项目环境搭建,而makefile 文件依赖关系复杂,工作量很大,搞的人头很大.采用自动化的项目构建工具cmake 可以将程序员从复杂的makefile 文件中解脱出来.cmake 根据内置的规则和语法来自动生成相关的makefile 文件进行编译,同时还支持静态库和动态库的构建,我把工作中用到的东东总结在此,方便忘记时随时查看,具体cmake的介绍和详细语法还是参考官方文档(http://www.cmake.org/),有一篇中文的…
在编译C工程时,遇到了如下错误: 一般看到类型错误,主要考虑是不是编译器错了. 以下引用:https://www.cnblogs.com/liushui-sky/p/7729838.html 后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序:后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的 所以对于C工程,最好只用gcc编译器,修改如下: set(CMAKE_C_COMPILER "gcc") 最终结果如下图所示: 关…
将低版本gcc编译过的程序移植到高版本GCC时, 可能会出现一些兼容性问题. 原因是, 为了适应新的标准,一些旧的语法规则被废弃了. 关于这方面的一些具体资料可从该处查询. 这里只是自己遇到的其中一个问题. 错误提示: In instantiation of ‘int t(T) [with T = int]’ required from here error: ‘f’ was not declared in this scope, and no declarations were found b…
osgQt编译不出来,主要原因在于cmake配置不正确. 第一步:修改CMakeList.txt文件,在文件开始加入两行 " CACHE STRING "") set(CMAKE_PREFIX_PATH "C:/Qt/Qt5.4.0/5.4/msvc2010_opengl" CACHE PATH "") 参考:http://www.itnose.net/detail/6271393.html 第二步:配置cmake中需要的QT路径:…
按照github 上的说明,安装配套软件,和跟踪需要的库 推荐使用homebrew 来安装各种依赖库. 安装Qt后,要配置系统变量 ,这个困扰本人很久:) 成功编译 cmake .. && make 根据错误来修改对应项目中CMakeList.txt文件中内容 成功运行 ./obs 命令行中会显示系统运行日志. 打包进入 build 路径下 make package 生成 XXX.dmg 可以修改目录中的配置文件来修改生成文件想名字…
前言 在windows 下 系统核心态程序蓝屏,会产生dump文件. 用户级程序在设置后,程序崩溃也会产生dump文件.以方便开发者用windbg进行分析. so,linux 系统也有一套这样的东东----->Linux Core Dump Linux Core Dump 引用 文章 <Linux Core Dump>  http://www.cnblogs.com/hazir/p/linxu_core_dump.html 的话: 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的…
转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ 由于需要把FasterRCNN做的工程化,因此这里需要对Caffe进行封装.其实封装听起来感觉很高深的样子,其实就是将自己在caffe上再调用的接口做成一个动态库,同时将Caffe的库连着Caffe的那些库依赖一起做成自己工程的库依赖就可以了.如果你只是直接使用Caffe的话,那么到时候直接链接到caffe下面build目录中的libcaffe.so或者libc…
最近正在研究Linux C代码编辑器,确实也不太喜欢SI(Windows看代码还行,编辑一般,同步麻烦), 尝试使用CLion,但对makefile工程支持不好,怎么编译还没搞懂, 阅读.编辑还不错,智能提示.语法检查.函数跳转.查引用都挺好用的. 不过要想使用CLion的这些功能需要添加工程中的h文件到CMakeList.txt,可参考如下脚本(把print结果添到CMakeList.txt里就行) #!/usr/bin/env python # -*- coding: utf-8 -*- i…
以上节tts语音输出为例 下载sdk链接:http://www.xfyun.cn/sdk/dispatcher 1.下载SDK,解压: 2.在ROS工作空间下创建一个Package: catkin_create_pkg tts_voice rospp rospy std_msgs 3.将SDK文件夹中的头文件,即下载的SDK文件夹中include文件夹下的 .h文件拷贝至tts_voice/include/下: 4.将SDK文件夹中sample/tts_sample中的xf_tts.cpp文件拷…