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)
  • 相关阅读:
    Ubuntu环境下NFS服务器搭建
    Node.js+koa2
    linux rhel7下安装python
    数据结构之链表
    0416. Partition Equal Subset Sum (M)
    0395. Longest Substring with At Least K Repeating Characters (M)
    1015. Smallest Integer Divisible by K (M)
    0227. Basic Calculator II (M)
    0337. House Robber III (M)
    0804. Unique Morse Code Words (E)
  • 原文地址:https://www.cnblogs.com/fuzhuoxin/p/12658756.html
Copyright © 2011-2022 走看看