add_library,target_link_libraries,set_target_properties,target_link_libraries使用联系

2023-05-16

折腾了半下午,终于知道这个货是怎么个关系了。在此写下记录,希望遇到同样问题的同学,不要再次浪费时间了。

首先我是在Linux环境下

先列出我的CmakeLists.txt

注意,在CmakeLists.txt 里,注释用的是#


project(Camera_sugan)         #工程名字
cmake_minimum_required(VERSION 2.6)    #编译最低cmake版本
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )   #设置c++编译器

find_package(OpenCV REQUIRED)    #在整个电脑上找opencv包

include_directories(                                 #包含头文件路径
    ./include/inudev/
    ./src/
)

set(SRC_LISTS                                          #将所有的源文件列为一个集合,集合名字叫做SRC_LISTS
    ./src/inuitive.cpp
    ./src/runCamera_Qfeeltech.cpp
)

add_library(libsugan ${SRC_LISTS})    #将集合里的所有的源文件生成一个静态库,该静态库的名字libsugan,注意,在整个CmakeLists里都要用libsugan这个

                                                                        #名字来代替之前那个集合生成的库。
target_link_libraries(libsugan                  #链接静态库需要的依赖库
    ${OpenCV_LIBS}
    ${PROJECT_SOURCE_DIR}/lib/libCommonUtilities.so
    ${PROJECT_SOURCE_DIR}/lib/libInuStreams.so
)
#到此为止就在程序中生成了一个名字为libsugan的静态库,但是我们知道Linux下对库的存储格式是lib+name.a,所以我们生成的静态库名字为libsugan,那么

#存储出来的结果就是liblibsugan.a,看着很别扭,为了大众点,我们用下面这句,保证了存储出来的静态库叫做libsugan.a,

#但是请千万注意,在整个CmakeLists.txt里

#如果想链接生成的这个库必须使用    “add_library(libsugan ${SRC_LISTS})”指明的名字。
set_target_properties(libsugan PROPERTIES OUTPUT_NAME "sugan")

add_executable(demo ./src/main.cpp)
target_link_libraries(demo libsugan)




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

add_library,target_link_libraries,set_target_properties,target_link_libraries使用联系 的相关文章

  • 使用 config.site 构建 *.pc 时 @libdir@ 不正确?

    我正在 Fedora x86 64 上工作 它用 lib64 usr lib64和朋友 我有以下内容 pc in file cat libcryptopp pc in prefix prefix exec prefix exec prefi
  • 检查Android应用程序中是否使用了Library

    我收到了一些应用程序的遗留代码 不是由我开发的 而是由其他团队开发的 没有文档 它有近 20 多个依赖项 在build gradle 现在 我想清理未使用的库 依赖项 方法是将它们从build gradle 我在谷歌上搜索并发现了这个pro
  • 使用 gcc 链接库:参数顺序

    当我将 Ubuntu 发行版升级到 11 10 后 我开始看到 gcc 的奇怪链接器行为 我能够通过移动我的 lgcc 命令末尾的参数 我的问题与中描述的问题类似 这个线程 https stackoverflow com questions
  • 如何附加(或其他方法)大量 HTML 代码?

    我需要附加很多 HTML 代码 为了提高可读性 我不想将所有内容写在一行中 而是将它们拆分为常规 HTML 这大概是 15 个新行之类的 问题是 JavaScript 不允许我这样做 var target post comment this
  • 包含的 C++/C 头文件的实现在哪里?

    这可能看起来有点愚蠢 但这已经困扰了一段时间了 当我在我的C C程序中包含一些别人编写的头文件时 编译器如何知道头文件中声明的类成员函数的实现在哪里 假设我想编写一些利用 OpenCV 库的程序 通常我想使用 include
  • 在 React 中 e.target.value 返回未定义的问题

    我有一个功能 您可以单击一个图像并查看可单击的名称列表 当您单击一个名称时 该人的图像应该取代原始图像 我正在使用艺术家 api 而不是在控制台中收到错误 图像更改为名称为 未定义 的艺术家的 img 奇怪 可能不是一个巨大的修复 但我已经
  • Xcode 7 构建失败:ld:找不到 -lGoogleAnalyticsServices 的库

    每次当我使用 Xcode 打开应用程序时 我都会收到此错误 ld library not found for lGoogleAnalyticsServices clang error linker command failed with e
  • 如何#include 第三方库

    我已经构建并安装了一个名为的库OhNet http wiki openhome org wiki OhNet After make install框架对应的头文件已经安装在下面usr local include ohNet 现在我想在我的
  • 使用来自 C99 的库在 Windows 上使用 TCC 编译文件

    所以最新版本的TCC据说实现了C99的一些功能 但是 我发现它不包括C99的数学库 有没有办法让它在 Windows 上使用更多 C99 的库 我用 google 搜索了一下 发现了一些主要与 Linux 相关的建议 但对于这个项目 我需要
  • 在 Adob​​e Brackets IDE 中使用 JavaScript 库?

    如何在 Brackets 中使用库而不让 javascript lint 出错 例如 我正在使用 Chart js 该产品工作完全正常 但 Brackets 给出错误 指出 Chart 在定义之前已被使用 有什么办法可以隐藏这个错误吗 我发
  • 如何调用 rake 目标两次

    我通过修改 csproj 文件以包含额外的编译符号 从 sln 生成两组不同的 DLL 文件 我正在使用 rake 构建解决方案 并执行以下构建任务 desc Builds the DPSF sln in Release mode msbu
  • 2D Python 游戏编程的工具包选项 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 OS X 静态库中包含 nib?

    我看过几篇关于 iOS 的文章讨论这个主题 但是一两次提到 OS X 只是说构建一个框架而不是静态库 我找不到有合适框架说明的帖子 我已将项目创建为静态库 并相应地对整个项目进行了编码 现在 我只想将我的框架放入演示应用程序中 但它抱怨缺少
  • 在 Android 中将 XML 转换为 JSON 对象

    我有一个 XML 字符串 如下所示
  • 以编程方式在 Eclipse 中导入库

    有没有办法以编程方式将库 Jar 文件 放入 Eclipse 项目中 到目前为止 我已经成功地使用以下命令以编程方式对其进行了外部引用 IPath path new Path C myfolder mylibrary jar librari
  • Swift 4 - 设置最低部署目标

    当前的部署目标是 11 0 这很好 但是 我想知道如何设置最小值 8 0 您可以在项目目标的常规设置中设置部署目标 您可以在 Apple 文档中阅读更多相关信息 设定部署目标 https developer apple com librar
  • 如何使库与调用者脚本 PropertiesService 一起工作?

    直到谷歌将导入 导出 API 扩展到容器绑定的 Apps 脚本项目 https code google com p google apps script issues issues detail id 2922 我已将项目的大部分内容移至可
  • Ant 条件 - 'if' 或 'unless' 哪个先出现

    Question 如果 ant 目标同时使用if and unless 首先评估哪个 Example 先有鸡还是先有蛋
  • 将预处理器宏添加到 xcode 6 中的目标

    也许这非常简单 但我找不到在 Xcode 6 中为目标定义预处理器宏的方法 我已经做了一个屏幕截图来显示它在 Xcode 中的位置 因为它更容易 选择项目文件 选择您想要的目标 转到构建设置 搜索 预处理器 添加用于调试 发布或两者的预处理
  • QGeoCoordinate:没有这样的文件或目录

    我正在尝试使用 QtLocation 但不能 我不明白为什么 我在 ubuntu 14 04 上使用 qt5 3 2 这很奇怪 因为我将这一行添加到我的 pro 文件中 QT network CONFIG mobility MOBILITY

随机推荐

  • PC电脑控制手机iphone(iOS 11、iOS 12、iOS 13),需越狱

    Veency是一款可以用电脑控制你的iPhone的插件 xff0c 作者是大名鼎鼎的Cydia的创始人Jay Freeman xff0c 也就是Saurik 但是最高支持到IOS9 xff0c 在IOS 10以上无法使用 基于Veency
  • 【Windows】Shellcode免杀,过360、火绒、Defender 静态及主防

    Shellcode xff0c 顾名思义是一段拿来执行的代码片段 xff0c 我们可以使用Shellcode来完成我们需要的任务 弹窗的代码 xff0c 可以被认为是一段Shellcode xff0c 获取某个模块的基址的代码 xff0c
  • Metasploit体系结构和目录

    一 Metasploit体系结构 一 xff09 基础库文件 metasploit基础库文件位于源码根目录路径下的libraries目录中 xff0c 包括Rex framework core和framework base三部分 Rex是整
  • Metasploit Framework Handbook

    文章目录 前言MsFrameworkMetasploit诞生发展体系结构功能阶段工具管理基本命令情报搜集网络服务渗透测试 Refference 前言 众所周知Metasploit工具是一款强大的渗透测试利器 xff0c 在渗透测试中堪称一条
  • 简单无锁队列的实现和使用

    无锁队列越来越流行 xff0c 在特定的场合使用不同的无锁队列 xff0c 可以起到节省锁开销 xff0c 提高程序效率 Linux内核中有无锁队列的实现 xff0c 可谓简洁而不简单 核心判断部分利用了整数溢出机制 xff0c 这个有很多
  • 关于网狐棋牌6603源码的整理、编译和搭建

    最近换工作 xff0c 趁着有一段清闲时间 xff0c 整理了一下网狐棋牌的源码 xff0c 这份源码下载很久了 xff0c 一直呆在硬盘 这次正好好好看看 网狐的代码质量很高 xff0c 流露出来的代码也比较完整 xff0c 基本上都能编
  • Pycharm:注释、删除所有注释

    1 单行注释 2 39 39 39 多行注释 39 39 39 3 删除所有注释 CTRL 43 R进入替换模式 xff0c 勾选右上角正则表达式 xff0c 然后在搜索框输入 xff0c Replace All即可
  • Outlook 2016 pst/ost邮件数据文件迁移实现

    当使用outlook 2016新建Email账户的时候 xff0c 其数据文件 xff08 ost文件 xff09 总是被保存在C盘默认目录 C Users 用户名 AppData Local Microsoft Outlook 下 xff
  • 跟我一起学习VIM - vim插件合集

    前两天同事让我在小组内部分享一下VIM xff0c 于是我花了一点时间写了个简短的教程 虽然准备有限 xff0c 但分享过程中大家大多带着一种惊叹的表情 xff0c 原来编辑器可以这样强大 xff0c 这算是对我多年来使用VIM的最大鼓舞吧
  • linux最简单搭建邮件服务器

    一 概述 xff1a 在配置邮件服务器之前 xff0c 先解释几个概念 通常使用Email都很容易 xff0c 但是Internet的邮件系统是通过几个复杂的部分连接而成的 xff0c 对于最终用户而言 xff0c 我们熟悉的Outlook
  • ROS导航小车经验总结

    经验教训 QS1 rviz地图与gazebo不同步 详细描述 工作空间 xff1a 仿真项目 文件位置 course03 启动urdf gazebo launch union launch xff08 模型启动文件 和 gazebo环境 x
  • 使用libcurl发送post请求

    C语言代码如下 xff1a include lt stdio h gt include lt string h gt include lt curl curl h gt int main int argc char argv CURL cu
  • 访问带有用户名、密码的URL

    很简单 xff0c 举例如下 xff1a HttpURLConnection urlConnection 61 HttpURLConnection url span class hljs preprocessor openConnectio
  • ROS下驱动双雷达

    ROS下驱动SLAMETC的A2和A3雷达步骤如下 xff1a 1 连上激光雷达并进入至 dev文件夹中查看ttyUSB xff1f 的编号 2 使用sudo chmod 777 ttyUSB 来更改USB端口权限 3 调整A2和A3激光雷
  • Usart 串口发送数据包 两种方式(遍历结构体,指针数组)

    Usart 串口发送数据包 两种方式 xff08 结构体 xff0c 指针数组 xff09 1 结构体指针 1 1 结构体和联合体 叙述 xff1a 这种直观性比较 xff0c 利用联合体和结构体的形式组成数据包 xff0c 通过结构体指针
  • netfilter 讲解 ,讲的很好

    Netfilter为多种网络协议 xff08 IPv4 IPv6 ARP等 xff09 各提供了一套钩子函数 在IPv4中定义了5个钩子函数 xff0c 这些钩子函数在数据包流经协议栈的5个关键点被调用 这就像有5个钓鱼台 xff0c 在每
  • python字典添加元素和删除元素

    1 添加字典元素 方法一 xff1a 直接添加 xff0c 给定键值对 pycharm aa 61 39 人才 39 60 39 英语 39 39 english 39 39 adress 39 39 here 39 print aa 39
  • Verilog中奇偶校验位的计算方法

    偶校验 xff1a 数据和校验位中1的总数为偶数 xff0c 则认为数据无误 xff0c 否则标识数据有误 xff1b 奇校验 xff1a 数据和校验位中1的总数为奇数 xff0c 则认为数据无误 xff0c 否则标识数据有误 xff1b
  • Ubuntu下进行Socket编程

    龙云尧个人博客 xff0c 转载请注明出处 CSDN地址 xff1a http blog csdn net Michael753951 article details 72553287 个人blog地址 xff1a http yaoyl c
  • add_library,target_link_libraries,set_target_properties,target_link_libraries使用联系

    折腾了半下午 xff0c 终于知道这个货是怎么个关系了 在此写下记录 xff0c 希望遇到同样问题的同学 xff0c 不要再次浪费时间了 首先我是在Linux环境下 先列出我的CmakeLists txt 注意 xff0c 在CmakeLi