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)
  • 相关阅读:
    uva 1637 Double Patience
    Emacs ^ Vim
    uva 11181 Probability|Given
    uva 10491 Cows and Cars
    uva 1636 Headshot
    hdu 4336 Card Collector
    zoj 3640 Help Me Escape
    Codeforces 148 D Bag of mice
    hdu 4405 Aeroplane chess
    hdu 3853 LOOPS
  • 原文地址:https://www.cnblogs.com/fuzhuoxin/p/12658756.html
Copyright © 2011-2022 走看看