将第三方库添加到CMakeList

时间:2015-05-24 11:58:33

标签: c++ cmake

我正在尝试在arduino和运行ubuntu 14.04的计算机之间建立串行连接。

我正在使用这个库 https://github.com/wjwwood/serial

有几个依赖项,我希望避免,因为我对此非常陌生,并希望尽可能保持基本。显然我不是唯一一个,项目业主已回复此事 https://github.com/wjwwood/serial/issues/52

我在serial / examples / serial_example.cc中提供的示例中使用了CMakeLists.txt(由于限制而无法发布直接链接,但它是github)

这是我采取的步骤

  1. 将上面的CMakeList.txt放入/ serial / library,替换原来的
  2. 将serial_example.cc放入/ serial / src /目录并将其重命名为“my_program.cpp”
  3. 打开gnome-terminal并导航到/ serial / folder
  4. 在终端执行“mkdir build”并输入该目录
  5. 在终端执行“cmake ../"
  6. 在终端执行“make”

    [66%]建立了目标序列号 链接CXX可执行文件my_program CMakeFiles / my_program.dir / src / my_program.cpp.o:在函数enumerate_ports()': my_program.cpp:(.text+0x32): undefined reference to serial :: list_ports()'中 collect2:错误:ld返回1退出状态 make [2]: * [my_program]错误1 make 1:* [CMakeFiles / my_program.dir / all]错误2 make:*** [all]错误2

  7. 我尝试使用sudo运行make,但没有成功

    这是“cmake ../"

    之后的构建目录的内容
    total 188
    -rw-rw-r-- 1 dundua dundua  12080 maj 24 13:49 CMakeCache.txt
    drwxrwxr-x 7 dundua dundua   4096 maj 24 13:51 CMakeFiles
    -rw-rw-r-- 1 dundua dundua   1630 maj 24 13:49 cmake_install.cmake
    -rw-rw-r-- 1 dundua dundua 162888 maj 24 13:49 libserial.a
    -rw-rw-r-- 1 dundua dundua   6837 maj 24 13:49 Makefile
    

    经过一些搜索,似乎我遇到了github, as issue #78,中描述的类似问题,并使用Code :: Blocks手动链接到已编译的libserial.so在另一个目录中似乎有效,但我想知道如何在没有Code :: Blocks的情况下实现这一点,因为我需要将我的代码与另一个cmake项目合并

0 个答案:

没有答案