make行为识别iDT源码时,出现/crt1.o:在函数‘_start’中: (.text+0x20):对‘main’未定义的引用错误

每天提高一点儿 2019-04-20 04:10:24
我参考https://blog.csdn.net/gulaixiangjuejue/article/details/86152598这个教程,在ubuntu16.04中使用行为识别iDT源码,make编译源码时出现/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o:在函数‘_start’中:(.text+0x20):对‘main’未定义的引用
collect2: error: ld returned 1 exit status这个错误,报错及makefile内容如下图,请问这个该怎么解决?
...全文
10546 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
muxixi7 2022-04-07
  • 打赏
  • 举报
回复

我也遇到这个问题了,请问怎么解决?

の 十一 〆 2020-07-12
  • 打赏
  • 举报
回复 3
你可能是编译的时候该文件没有保存。你按ctrl+s
make是在1977年在贝尔实验室(Bell Labs)研发的 Unix系统的一款依赖关系检查工具程序(Utility software)。make的应用非常广泛,它被用来构建 C、C++ 、Pascal  Fortran 等项目,自动化构建生成可执行文件或者库文件。make通过读取Makefile文件以自动化建构软件, 它会根据依赖文件的修改间进行判断。确定一个target的依赖关系,然后把生成这个target的相关命令传给shell去执行。GNU make 和大多数版本的 make 之间最重要的区别是 GNU make 是自由软件,常和GNU编译系统一起被使用,是大多数GNU Linux安装的一部分。GNU makemakefile 具有许多强大的功能,超出了其他 make 版本的功能,它还可以重新生成、使用、然后删除不需要保存的间文件。GNU make 还有一些非常方便的简单功能。例如,选项“假装源文件文件没有更改,即使它已更改。当您向头文件添加新宏,这非常有用。大多数版本的 make 都会假设它们必须重新编译所有使用头文件的源文件,但是如果您知道对头文件的更改不需要重新编译 GNU make 为您提供了一种避免重新编译的方法-o file 。 黄强老师针对零编程基础的同学,精心打磨make核心知识点,帮助你快速掌握Linux编程make的构建!适用人群: 零基础、新手、想快速学习Linux下C、C++编程的童鞋!
Ninja 是一个由 Google 开发的高效的大规模项目构建系统,专门用于加速软件构建过程。它设计简单,性能优异,被广泛用于构建许多知名的开源项目,如 Chromium、LLVM 等。Ninja 的优势和特点:简单易用:Ninja 的配置文件非常简洁明了,语法简单,易于理解和维护。相比其他构建工具如 Make 或 CMake,Ninja 的语法更加清晰,学习曲线较为平缓。高效性能:Ninja 以速度著称。它采用了高效的算法和并行构建机制,在大型项目能够显著提高构建速度。Ninja 不会像一些其他构建工具那样浪费间在重新构建不必要的文件上。轻量级:Ninja 是一个轻量级的构建系统,不依赖于其他复杂的工具链。它本身只是一个单独的可执行文件,不需要额外的库或依赖。跨平台支持:Ninja 可以在各种操作系统上运行,包括 Linux、Windows 和 macOS 等。这使得它成为一个便携且灵活的构建工具,能够满足不同平台下的需求。可扩展性:尽管 Ninja 本身比较简单,但它具有良好的可扩展性。开发者可以通过编写自定义的构建规则或插件来扩展 Ninja 的功能,以满足特定项目的需求。适合大型项目:Ninja 的高效性能和并行构建特性使其特别适用于大型项目。它能够处理成千上万个源文件,并在多核系统上充分利用硬件资源,从而加快构建过程。黄强老师针对零编程基础的同学,精心打磨ninja核心知识点,帮助你快速掌握Linux编程的ninja的工具构建!适用人群: 零基础、新手、想快速学习Linux下C、C++编程的童鞋! 

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧