在写激光雷达程序的时候,考虑到后期还要综合其他的很多文件,所以想到用CMakeLists文件来管理这个工程,在刚写好对激光雷达的数据获取和转换为指教坐标系下点坐标时出现了点小问题:

CMakeFiles/main.dir/main.o:在函数‘main’中:

main.c:(.text+0x235):对‘cos’未定义的引用

main.c:(.text+0x275):对‘sin’未定义的引用

collect2: error: ld returned 1 exit status

make[2]: *** [src/main] 错误 1

make[1]: *** [src/CMakeFiles/main.dir/all] 错误 2

make: *** [all] 错误 2

我发现用make指令去编译c文件时会出现上面的错误,而且已经包含了math.h文件。然后上网查找各种资料,没有解决的办法,因为很多人都是用gcc指令编译的,后面添加一个-lm 命令符就行,经查找发现这是指向cos函数的包含路径的问题,表示告诉编译器到libm.so库文件中找这个函数,通常在/lib中。由此启发,我这里也是找不到math的包含路径,所以在src的CMakeLists文件中添加这条路径的,以找到依赖:

TARGET_LINK_LIBRARIES(main liburg.a libm.so)

再make就不会出错了。

linux如何使用sin函数,Ubuntu下使用make编译c文件,不能调用sin cos 等函数问题的解决...相关推荐

  1. Linux(Ubuntu)下C语言编译与调试

    Linux(Ubuntu)下C语言编译与调试 编译流程 gcc安装命令 sudo apt install build-essential vim/touch 创建源文件 vim打开编辑源文件(.c结尾 ...

  2. Ubuntu下源码编译VirtualBox六 —— 源码编译(5)

    接前一篇文章<Ubuntu下源码编译VirtualBox五 -- 源码编译(4)>,链接如下: Ubuntu下源码编译VirtualBox五 -- 源码编译(4)_蓝天居士的博客-CSDN ...

  3. ubuntu下使用反编译apk,工具dex2jar和jd-gui

    ubuntu下使用反编译apk, 工具 1.首先使用dex2jar反编译 下载地址(建议下载最新版本,防止出现bug):http://code.google.com/p/dex2jar/downloa ...

  4. Ubuntu下使用Eclipse编译一个基于makefile的C项目

    [背景] 折腾完: [记录]Ubuntu中下载和安装Eclipse 后,就可以去折腾,用Eclipse编译项目了. [折腾过程] 1.继续正常的导入项目: 2. 3. 4.但是只检测出来一个子项目WH ...

  5. ubuntu下如何使用minicom传送文件

    ubuntu下如何使用minicom传送文件 Minicom是在linux下的一个友好的串口通信程序,类似于Windows操作系统下的超级终端工具.如果安装双系统,不用虚拟机的朋友,可以直接在linu ...

  6. ubuntu下连接mysql出现Access denied for user ‘rose‘@‘localhost‘ (using password: NO)的解决方法

    ubuntu下连接mysql出现Access denied for user 'rose'@'localhost' (using password: NO)的解决方法 参考文章: (1)ubuntu下 ...

  7. Star: Ubuntu下配置和编译cpp-ethereum客户端启动GPU加速交易

    Ubuntu下配置和编译cpp-ethereum客户端启动GPU加速交易 Ethereum,中文翻译是"以太坊",是一个公有区块链的开源项目.因为以太坊是基于P2P网络所以没有中心 ...

  8. ubuntu下flann库编译报错处理

    ubuntu下flann库编译报错处理 编译flann的时候显示以下报错: CMake Error at src/cpp/CMakeLists.txt:33 (add_library):No SOUR ...

  9. 关于ubuntu下的c++编译

    刚开始使用ubuntu下的g++编译c++程序,这里只是简单说以下自己的一些小小感受吧. 1.环境准备 在ubuntu中要想编译c程序可以安装gcc编译器,编译c++的话就不能使用gcc了,要使用g+ ...

最新文章

  1. javabean自定义组件
  2. 第 1-1 课:Java 程序是如何执行的?
  3. 域服务器批量修改用户密码,Windows域控制器批量创建用户
  4. java transform的作用_为什么旋转(0deg)很重要?
  5. Java Swing中键盘事件的处理
  6. 布丰投针试验的仿真和误差估计
  7. 2021Java面经:史上最全的《Java面试题及解析》
  8. JQueryUI学习文档
  9. 什么是动态与静态IP
  10. 死亡计算机在线使用,抖音死亡计算器寿命计算器在线测试入口 使用生命年龄计算器...
  11. 在000Webhost架了我滴博客
  12. freemarker ftl模板语法和指令
  13. LightOJ1066
  14. 由平庸到崛起:细数那些为三星打下半壁江山的经典“Galaxy”智能机型
  15. JavaScript---网络编程(2)-函数与数组
  16. 外贸怎么在谷歌搜索客户?
  17. 揭秘支撑百度搜索、Feed、小程序三大业务的MVVM框架设计思想,San 核心人员倾力打造...
  18. 图像处理、计算机图形学、计算机视觉和模式识别领域的区别和联系
  19. 【信息技术】【2018.01】射频功率放大器的行为建模与数字预失真
  20. CUDA 7.5 cuDNN v4 tensorflow on Ubuntu 14.04 LTS

热门文章

  1. 哈希(哈希表与哈希函数)
  2. NCTF Crypto WriteUp
  3. Flask: 总是报too many values unpacked
  4. Java IO篇 Java IO编程
  5. 全面认识MOS管,一篇文章就够了
  6. Git 强制更新覆盖本地代码
  7. SQL日期时间转为字符串
  8. Maven安装与配置详解、多镜像节点的配置
  9. vue中下载图片到本地
  10. 电脑代理服务器出现问题的解决办法