zoukankan      html  css  js  c++  java
  • CMakeLists.txt实例运用(进阶)

    CMakeLists.txt实例运用(探索)中,我们将库文件和头文件安装到了电脑上,接下来,我们看看怎能使用电脑上安装的头文件和库。

      新的文件结构如下:

    CMakeLists.txt内容如下:

    1 # 声明要求的 cmake 最低版本
    2 cmake_minimum_required(VERSION 2.8)
    3 # 声明一个 cmake 工程
    4 project(helloSLAM)
    5 
    6 # 将库文件链接到可执行程序上(名字都是上面设置的,统一对应即可,这里对应为静态库)
    7 set(main src/main.cpp)
    8 add_executable(sayHello ${main})

     在src中只有一个main函数,没有sayHello.cpp,main函数内容没有改变。

     同样用cmake ../make命令在build下面编译是会出现如下错误,提示找不到sayHello.h文件。

     然后在CMakeList.txt中添加如下内容()上次我们将.h文件装到了如下位置:

    include_directories(/usr/include/sayhello)

    进入build进行重新构建,虽然找到了.h文件,但是没有发现库函数

     我们并没有链接到共享库(动态库)上,因此添加如下内容就可以生成可执行文件,我们在使用别人的库的时候原理相同

    target_link_libraries(sayHello libHello)

     用ldd查看链接的库可以发现,确实链接到了libHello,是动态库liblibHello.so.1

     如果要链接到静态库的话,用.a来声明要链接静态库即可

    target_link_libraries(sayHello libHello.a)
  • 相关阅读:
    反向代理实例
    nginx常用命令和配置
    nginx的安装
    Can Live View boot up images acquired from 64bit OS evidence?
    What is the behavior of lnk files?
    EnCase v7 search hits in compound files?
    How to search compound files
    iOS 8.3 JB ready
    Sunglasses
    现代福尔摩斯
  • 原文地址:https://www.cnblogs.com/fuzhuoxin/p/12658756.html
Copyright © 2011-2022 走看看