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的更多相关文章

  1. 使用C#模拟Outlook发送邮件,代码编译报错

    添加OutLook API using OutLook = Microsoft.Office.Interop.Outlook; 发送邮件方法 public void SendEmail() { Out ...

  2. cordova编译报错:Execution failed for task ':processDebugResources'

    cordova编译报错:Execution failed for task ':processDebugResources' 引发这个错误的最扩祸首就是一个中文命名的文件,不知道什么时候加入的,我写了 ...

  3. 编译报错dereferencing pointer to incomplete type

    关于编译报错“dereferencing pointer to incomplete type... 多是没找到结构体的定义,可以在本地复制其定义试试. 参考: http://my.oschina.n ...

  4. 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] -------------------------- ...

  5. [Intellij] 编译报错 javacTask

    报错信息: Idea 编译报错 javacTask: 源发行版 1.6 需要目标发行版 1.6 解决方案:

  6. jenkis编译报错:需要class,interface或enum

    现象: 1.jenkis编译报错:需要class,interface或enum 2.使用ant进行编译ok. 解决方法: 1. Jenkis重新编译一个以前成功的svn版本,直至编译成功. 2.Jen ...

  7. 对arm指令集的疑惑,静态库运行,编译报错等问题

    转载自http://www.jianshu.com/p/4a70aa03a4ea?utm_campaign=hugo&utm_medium=reader_share&utm_conte ...

  8. xocde7下导入libsqlite3.tbd编译报错的解决办法

    在xocde7下没有libsqlite3.dylib,只有libsqlite3.tbd,然后我导入了tbd.编译报错error: /Applications/Xcode.app/Contents/De ...

  9. 关于vue-clidown到本地后,拷贝文件库到另外一台电脑上npm run dev编译报错的处理

    这些天自己在用vue-cli项目,在家里的电脑下下来后写了一些demo,拿到公司继续开发的时候发现删除node_modules文件,运行npm install和npm run 百度,搜狗了好久都没有找 ...

随机推荐

  1. 洛谷P3121 审查(黄金)Censoring(Gold) [USACO15FEB] AC自动机

    正解:AC自动机 解题报告: 传送门! 啊我好呆啊其实就挺模板题的,,,只是要一个栈搞一下,,,然后我就不会了,,,是看了题解才get的,,,QAQ 然后写下解法趴QwQ 首先看到多串匹配不难想到AC ...

  2. mvn install package区别

    package是把jar打到本项目的target下,而install时把target下的jar安装到本地仓库,供其他项目使用

  3. 连连看java版

    主界面 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt. ...

  4. cudnn升级之后caffe无法训练的问题

    由于安装新版本的TensorFlow需要cudnn6.0因此用6.0将原来的 5.0替换了,后来又用之前编译好的caffe进行训练,发现caffe会去找5.0的cudnn,然后就报错了,不能正常训练. ...

  5. Spring对Bean装配详解

    1.Spring提供了三种装配bean的方式: 2.自动装配bean: 3.通过Java代码装配bean 4.通过XML装配bean 前言:创建对象的协作关系称为装配,也就是DI(依赖注入)的本质.而 ...

  6. 004-docker命令-容器生命周期管理、容器操作

    1.容器生命周期管理 docker run :创建一个新的容器并运行一个命令 语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: - ...

  7. Windows 7系统下安装和卸载删除IE的方法

    1.首先按下 Windows +R 键打开“运行”的窗口,请输入“appwiz.cpl”. 2.在「程序和功能」窗口上按下左上的「查看已安装的更新」. 3.找到「Windows Internet Ex ...

  8. PHP策略模式2

    <?php /** PHP 策略模式 * 策略模式是对象的行为模式,用意是对一组算法的封装.动态的选择需要的算法并使用. * 策略模式指的是程序中涉及决策控制的一种模式.策略模式功能非常强大,因 ...

  9. Spark代码中设置appName在client模式和cluster模式中不一样问题

    问题 Spark应用名在使用yarn-cluster模式提交时不生效,在使用yarn-client模式提交时生效,如图1所示,第一个应用是使用yarn-client模式提交的,正确显示我们代码里设置的 ...

  10. PHP类名获取的几种方式及单例模式实现

    参考:https://www.cnblogs.com/water0729/p/5803217.html <?php class foo { static public function test ...