Linux QtCreator 编译报错:No rule to make target '.../***' needed by '***.o'.stop
Linux QtCreator 编译报错:No rule to make target 'mainwindow.cpp' needed by 'mainwindow.o'.stop
【1】解决方案
1、打开工程项目的pro文件
2、搜索找到mainwindow.cpp文件的路径
3、切换到工程代码目录下,核对一下对应路径下是否的的确确存在该mainwindow.cpp文件(备注:肯定不存在,存在你不会找到这里来!)
4、想办法搞一个mainwindow.cpp文件放到此对应目录下(提示:经常由于代码拷贝、重构或备份等导致不经意间的文件引用失败!可以从其他代码分支或工程中再拷贝一份即可)
【2】Windows环境下QtCreator编译工程
1、打开Windows环境下的QtCreator编辑器
2、新建一个默认工程,名称为Test。
简述新建默认工程步骤如下:
2.1 文件->新建文件或项目。打开对话框,如下图步骤。

2.2 工程名称填为Test。其他步骤均默认为下一步。

2.3 创建工程成功。工程项目结果如下图(很简单,只是为了说明问题而已):

3、执行qmake,再编译。一切正常。
4、切换至mainwindow.cpp文件所在目录,把该文件改名为mainwindow1.cpp(删除、备份均可)
5、再执行qmake,正常。然后,编译,错误提示:dependent'..\Test\mainwindow.cpp'does not exist.
发现,Windows环境下,错误提示一目了然:依赖的mainwindow.cpp文件不存在!
【3】linux环境下QtCreator编译工程
1、打开Linux环境下的QtCreator编辑器
2、同上。新建一个默认工程,名称为Test
3、执行qmake、再编译。一切正常。
4、切换至mainwindow.cpp文件所在目录,把该文件改名为mainwindow1.cpp(删除、备份均可)
5、再执行qmake,正常。然后,编译,错误提示:No rule to make target 'mainwindow.cpp' needed by 'mainwindow.o'.stop
发现,Linux环境下,错误提示很晦涩,但是问题症结相同:依赖的mainwindow.cpp文件不存在!
【4】总结
这个故事告诉我们:许多时候,可以类比着解决问题。做人像编码,不宜太教条、太固执、太死板。
Good Good Study, Day Day Up.
顺序 选择 循环 总结
Linux QtCreator 编译报错:No rule to make target '.../***' needed by '***.o'.stop的更多相关文章
- 使用C#模拟Outlook发送邮件,代码编译报错
添加OutLook API using OutLook = Microsoft.Office.Interop.Outlook; 发送邮件方法 public void SendEmail() { Out ...
- cordova编译报错:Execution failed for task ':processDebugResources'
cordova编译报错:Execution failed for task ':processDebugResources' 引发这个错误的最扩祸首就是一个中文命名的文件,不知道什么时候加入的,我写了 ...
- 编译报错dereferencing pointer to incomplete type
关于编译报错“dereferencing pointer to incomplete type... 多是没找到结构体的定义,可以在本地复制其定义试试. 参考: http://my.oschina.n ...
- Maven-010-maven 编译报错:Failure to ... in ... was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced.
今晚在编译 maven 项目的时候,命令行报错,出现 Failure to ... in ... 类似错误,详细的错误信息如下所示: [INFO] -------------------------- ...
- [Intellij] 编译报错 javacTask
报错信息: Idea 编译报错 javacTask: 源发行版 1.6 需要目标发行版 1.6 解决方案:
- jenkis编译报错:需要class,interface或enum
现象: 1.jenkis编译报错:需要class,interface或enum 2.使用ant进行编译ok. 解决方法: 1. Jenkis重新编译一个以前成功的svn版本,直至编译成功. 2.Jen ...
- 对arm指令集的疑惑,静态库运行,编译报错等问题
转载自http://www.jianshu.com/p/4a70aa03a4ea?utm_campaign=hugo&utm_medium=reader_share&utm_conte ...
- xocde7下导入libsqlite3.tbd编译报错的解决办法
在xocde7下没有libsqlite3.dylib,只有libsqlite3.tbd,然后我导入了tbd.编译报错error: /Applications/Xcode.app/Contents/De ...
- 关于vue-clidown到本地后,拷贝文件库到另外一台电脑上npm run dev编译报错的处理
这些天自己在用vue-cli项目,在家里的电脑下下来后写了一些demo,拿到公司继续开发的时候发现删除node_modules文件,运行npm install和npm run 百度,搜狗了好久都没有找 ...
随机推荐
- word2vec训练好的词向量
虽然早就对NLP有一丢丢接触,但是最近真正对中文文本进行处理才深深感觉到自然语言处理的难度,主要是机器与人还是有很大差异的,毕竟人和人之间都是有差异的,要不然不会讲最难研究的人嘞 ~~~~~~~~~~ ...
- mmu裸机程序
硬件平台:JZ2440 init.c --> 初始化sdram,创建页表 leds.c --> 使用init.c初始化的VA地址控制led start.s --> ...
- IntelliJ IDEA Ultimate 下载与安装
一.下载 Intellij IDEA Ultimate 下载链接:https://www.jetbrains.com/idea/download/#section=windows 1.进入官网点击Ul ...
- Servlet----------Servlet 概述
1.什么是Servlet Servle t是Java Web 的三大组件之一,它属于动态资源.Servlet 的作用是处理请求,服务器会把接收到时的请求交给 Servlet 来处理,在Servlet中 ...
- redis 的消息队列 VS kafka
redis push/pop VS pub/sub (1)push/pop每条消息只会有一个消费者消费,而pub/sub可以有多个 对于任务队列来说,push/pop足够,但真的在做分布式消息分发的时 ...
- SpringBoot静态资源访问
在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置: Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /static ...
- logback 常用配置详解(序)logback 简介
转自:http://aub.iteye.com/blog/1101260 logback 简介 Ceki Gülcü在Java日志领域世界知名.他创造了Log4J ,这个最早的Java日志框架即便在J ...
- HP1020打印机“传递给系统调用的数据区域太小” 如何处理?
如果电脑上曾经安装过 HP LaserJet 激光打印机的驱动程序,重新安装驱动程序之前,需要完全卸载以前安装的驱动程序,否则可能会出现无法找到设备或者安装不上驱动程序的现象. 安装网站下载的即插即用 ...
- UE4程序及资源加密保护方案
UnrealEngine4外壳加密 . Virbox Protector 解决代码反汇编和反dump代码,解决软件盗版与算法抄袭. 虚幻引擎4是由游戏开发者为开发游戏而制作的.完整的游戏开发工具套件. ...
- PHP中的回调函数
回调函数是指调用函数的时候将另一个函数作为参数传递到调用的函数中,而不是传递一个普通的变量作为参数 使用回调函数是为了可以将一段自己定义的功能传到函数内部使用 声明回调函数的方法 变量函数声明 1 2 ...