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. json和jsonp的区别?

    json返回的是一串json格式数据:而jsonp返回的是脚本代码(包含一个函数调用): jsonp的全名叫做json with padding,就是把 json 对象用符合 js 语法的形式包裹起来 ...

  2. zabbix监控托管主机遇到问题

    昨天监控公司的托管主机时发现监控不上,回想起来其实就是个小问题,分分钟能解决的事,排错的过程才是真正耗心费神的. 监控环境: A zabbix server: 192.168.17.110 serve ...

  3. Linux中安装python3

    [centos7中安装python3]http://blog.csdn.net/wjqwinn/article/details/75633714 (一)安装python3前的准备工作1.修改文件中第一 ...

  4. 生成器-代码举例:()和yield

    怎么自定义一个生成器:两个方法: 1.小括号包裹表达式 2.函数中用yield返回 方法一:①小括号包裹表达式 G=(x*2 for x in range(5)) print(G)输出:<gen ...

  5. python-面向对象-03_面向对象基础语法

    面向对象基础语法 目标 dir 内置函数 定义简单的类(只包含方法) 方法中的 self 参数 初始化方法 内置方法和属性 01. dir 内置函数(知道) 在 Python 中 对象几乎是无所不在的 ...

  6. Python3学习之路~8.1 socket概念及参数介绍

    一 socket介绍 TCP/IP 基于TCP/IP协议栈的网络编程是最基本的网络编程方式,主要是使用各种编程语言,利用操作系统提供的套接字网络编程接口,直接开发各种网络应用程序. socket概念 ...

  7. 百度接口test

    https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=Mk2Orf5pqEOXvYR ...

  8. 【Java】-NO.16.EBook.4.Java.1.010-【疯狂Java讲义第3版 李刚】- 异常

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.010-[疯狂Java讲义第3版 李刚]- 异常 Style:EBook Series:Java Si ...

  9. TortoiseGit推送代码到Gerrit的过程

    gerrit的安装不在本博客的说明范围中,本博客阐述的是使用TortoiseGit 提交代码到gerrit上的步骤和配置. 一.Git 说明:这个工具只要用来做一个仿真的linux环境,可以执行大部分 ...

  10. react 写一个贪吃蛇

    示例: 全部代码如下: snake.jsx import React, { Component } from 'react'; import PropTypes from 'prop-types'; ...