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. 图书管理(Loj0034)+浅谈哈希表

    图书管理 题目描述 图书管理是一件十分繁杂的工作,在一个图书馆中每天都会有许多新书加入.为了更方便的管理图书(以便于帮助想要借书的客人快速查找他们是否有他们所需要的书),我们需要设计一个图书查找系统. ...

  2. php 的函数

    一.函数定义及变量作用域 1. 函数的声明和调用 函数的目的是复用. [$variable=] function [name]([$param]){} 2. 变量的作用域 (1) 全局变量 函数内部想 ...

  3. 数据库文件MDF的空间占满了,没有自动增长是怎么回事?

    前提: (1)磁盘C盘.数据文件所在盘均有空间 (2)没有对数据文件设置maxSize   (3)做过数据库服务器重启,仍没有效果 (4)但是同一个实例上的其他数据库没问题 (5)配额也查了,没问题 ...

  4. LigerUi自动检索输入

    var availableTags = [ "ActionScript", "AppleScript", "Asp", "BASI ...

  5. 自己实现strtok函数

    思路:每次在原来字符串中查找分隔字符串,将分隔字符串中所有字符设为'\0',然后输出分隔串前的子串,同时更新原串的起始位置. PS:有不少博客作者自己实现的方法中往往只将分隔串当做一个字符,实际上可以 ...

  6. 万恶之源 - Python开发规范

    开发规范 什么是开发规范?为什么要有开发规范呢? 你现在包括之前写的一些程序,所谓的'项目',都是在一个py文件下完成的,代码量撑死也就几百行,你认为没问题,挺好.但是真正的后端开发的项目,系统等,少 ...

  7. Spark History Server产生背景

    以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息:但该WEBUI随着Application的完成(成功/失败) ...

  8. Spark资源调度

    一:任务调度和资源调度的区别: 任务调度是指通过DAGScheduler,TaskScheduler,SchedulerBackend完成的job的调度 资源调度是指应用程序获取资源的调度,他是通过s ...

  9. emq数据库插件

  10. Java 基础 常用API (Object类,String类,StringBuffer类)

    Java API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底 ...