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. JavaScript, DOM查找元素

    1.document.getElementById("id"); => IE8 及较低版本不区分ID的大小写 => IE7及较低版本中表单元素的name特性和ID都会被 ...

  2. C++中的内存区域及其性能特征

    首先须要指出的是.我们通经常使用"堆"和"自由存储"这两个术语来区分两种不同类型的动态分配内存. 1.常量数据:常量数据区域主要用于存储字符串以及其它在编译期就 ...

  3. 20181223 Oracle中while

    最近尝试了一次while跑数, declare sysdataend  date:=system-1; startdata  date:=to_date('20181214','YYYYMMDD'); ...

  4. MySQL 5.7 新特性大全和未来展望

    引用 美图公司数据库高级 DBA,负责美图后端数据存储平台建设和架构设计.前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的服务器存储选型设计.之前在「高可用架构」发表的&l ...

  5. Python3学习之路~6.5 私有属性和私有方法

    属性分为静态属性和动态属性,静态属性就是变量,动态属性就是方法.但是一般我们说的属性就是变量,方法就是方法.私有属性/方法就是外面访问不了,只有自己能够访问的属性/方法.如何将属性和方法分别变成私有属 ...

  6. 如何在ASP.NET 网站项目中使用C# 6?

    作者:Generic链接:https://www.zhihu.com/question/48864375/answer/113316462来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  7. 【BP算法】

    一.符号定义:  al: 第l层的输出值(经过了激活函数).在DNN中是向量,在CNN中是张量. σ:激活函数的表达形式. zl: 第l层的输出值(未经过激活函数).在DNN中是向量,在CNN中是张量 ...

  8. elemet-paging

    <template> <card-layout :title="L('Prosuct')" :actions="actions" @click ...

  9. JVM调优之jstack找出最耗cpu的线程、定位代码

    jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多.下面我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有 ...

  10. PHP MYSQL 临时表的使用

    /** * 临时表:用于获取爱鸽登录分类数量 */ $temporaryTableName = uniqid('temporary_'); $model = M(); $model->execu ...