linux利用CMakeLists编译程序或生成库文件

#设置CMAKE最低版本
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
#设置项目名称
SET(PROJECT_NAME Image_Test_01)
#建立项目
PROJECT(${PROJECT_NAME})
#寻找OpenCV库
FIND_PACKAGE(OpenCV REQUIRED)
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
#打印调试信息
MESSAGE(STATUS "Project: ${PROJECT_NAME}")
MESSAGE(STATUS "OpenCV library status:")
MESSAGE(STATUS "    version: ${OpenCV_VERSION}")
MESSAGE(STATUS "    libraries: ${OpenCV_LIBS}")
MESSAGE(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")

#获取代码,在项目中,将所有代码都放在src文件夹中
AUX_SOURCE_DIRECTORY(src DIR_SRCS)
MESSAGE(STATUS "Src file: ${DIR_SRCS}")
#编译可执行程序
ADD_EXECUTABLE(${PROJECT_NAME} ${DIR_SRCS})
#添加链接库
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenCV_LIBS})

参考:http://blog.csdn.net/ryuuei_1984/article/details/52209331

时间: 2024-10-12 16:24:03

linux利用CMakeLists编译程序或生成库文件的相关文章

工欲善其事,必先利其器——利用PowerDesigner建模并生成数据库文件

首先介绍一下Power Designer:它是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库设计全过程.利用Power Designer可以制作数据流程图.概念数据模型.物理数据模型,还可以为数据仓库制作结构模型,对团队设计模型进行控制.它可以与许多流行的软件开发工具如PowerBuilder.Delphi.VB等相配合缩短开发时间以及使系统设计更优化. 在机房收费系统重构阶段,设计数据库是最令人头疼的,设计一个好的数据库可以为以后省下不少代码.

轻量级ORM 利用T4模板 批量生成多文件 实体和业务逻辑 代码

FluentData,它是一个轻量级框架,关注性能和易用性. 下载地址:FlunenData.Model 利用T4模板,[MultipleOutputHelper.ttinclude]批量生成多文件 基本语法: 1. 初始化:获取MultipleOutputHelper.ttinclude文件模板 在T4模板导入 //导入MultipleOutputHelper.ttinclude文件 路径 <#@include file="$(SolutionDir)\ORM.Model\T4\Mult

利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析

首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) 1 首先建立一个空白XML文件,直接点击下图所示即可: 2 可以使用xml文本编辑界面,或者使用xml树状图编辑界面 切换到xml树状图编辑界面的方法为: 即可调出当前xml文件所对应的xml树状图编辑界面 3 设计并编辑xml文件 根据自己的需要可以利用xml树状图操作界面来方便的设计自己的xml

【原创】源码编译libevent-2.0.21-stable生成库文件说明

按照 README 中的说明,首先执行 configure 下面的输出信息是针对源码编译所在机器进行的检测 [[email protected] libevent-2.0.21-stable]# ./configure checking for a BSD-compatible install... /usr/bin/install -c ... configure: creating ./config.status config.status: creating libevent.pc con

windows生成库文件

库文件的生成,包括静态库lib与动态库dll,需要改变编译输出的生成命令,可以一开始生成对应的库工程(或者在工程属性->常规->配置类型更改). 附基本对应命令: gcc –c -L .o Cl /c /link .obj ar .a lib .lib ld .o link .dll 其中,动态库dll需要在所输出的"对象"前添加_declspec(dllexport)声明. 对于库的使用,除了需要包含对应的头文件,静态库需要在文件中添加#prama comment(lib

Android中生成库文件与移除以及导入jar包重复问题

1.项目右键-->properties-->android-->Is library-->Apply 2.在其他项目中就能通过add library引用到该库文件 其他项目导入该库文件后可看到引用的对应jar包: 引用库文件的好处在于可以对源代码进行修改 2.移除,注意不能从硬盘删除 即上面的选项不勾选 3.jar包重复问题 如果项目里有android-surport-v4  导入的jar包也有,则任意删除一份 否则报如下错误,通过log可看出是通过sha-1算法来验证两个jar包

linux编译链接找不到库文件的解决方法。

今天编译出现ld: 0706-006 Cannot find or open library file: -l xerces-c_static,ld:open(): A file or directory in the path name does not exist.这个熟悉得不能再 熟悉的链接错误. 很简单,编译器打开xerces-c_static.a失败.出现这个错误的原因往往是因为目录库文件xerces-c_static.a没被编译出来或不存在. 于是第一反应,看一下xerces-c_s

linux利用CMakeLists编译cuda程序

文件目录: cudaTest |--utils.cu |--utils.h |--squaresum.cu |--squaresum.h |--test.cpp |--CMakeLists.txt 编译命令: $cd /root/cudaTest $mkdir build $cd build $cmake .. $make 调佣关系: utils:提供常用工具,这里提供查询设备信息功能: squaresum:计算平方和功能,为cuda运行的核心函数实现 test:调用平方和函数 CMakeLis

[转]linux下使用objdump -p 查看库文件版本等信息

方法一: 文件名已经带有版本号: 这种情况下很容易就能够看到软链指向的文件的版本号是 1.0.1 方法二: 当文件名不带版本号时:如下所示使用readelf -a ***.so读取出文件的版本号,不过此时只能读取到主版本号,version:1 方法三: 如果文件名不带版本号,且又想知道具体的版本号的时候怎么办呢? 这时候只能使用傻瓜方法,生成md5值与已知版本号的共享库相对比了. $ md5sum fcrypt.so.1.0.1d097363e391e926fdd1687d17bb1ebf7 f