makefile学习之编译器报错问题

这篇具有很好参考价值的文章主要介绍了makefile学习之编译器报错问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、当使用makefile自动推导的功能时编译器报错
ccJS7JEh.s: Assembler messages:

ccJS7JEh.s:5: Error: invalid instruction suffix for `push'

ccJS7JEh.s:7: Error: invalid instruction suffix for `push'

\ccJS7JEh.s:14: Error: operand type mismatch for `call'

ccJS7JEh.s:39: Error: invalid instruction suffix for `push'

百度了很多方法但是都没有看到有相关的说明,看到有的地方说(使用的是chatgpt)是版本不兼容导致,于是我看了下自己电脑里配置的环境,

发现了有wingw和之前其它的gcc版本,将wingw删除从和gcc多余的版本去除后编译正常

我怀疑主要是mingw的原因,因为wingw是64的我的gcc都是x86的,后面我将gcc另一个版本回退也正常了,所以这里主要是mingw造成的

2、第二次修改:

可以通过修改c/c++的编译器来解决该问题:
在vs code扩展里面进入c/c++的配置,搜索Compiler Path配置如下图,后重启打开vscode即可,第一个方法虽然可以,但是会导致vscdoe无法识别c库代码,提示很多警告而且导致无法在vs上运行,当然如果你是嵌入式开发直接只用makefile的话也不影响好这里gcc的环境需要在环境变量中先配置好

makefile学习之编译器报错问题

makefile学习之编译器报错问题

 文章来源地址https://www.toymoban.com/news/detail-711478.html

makefile学习之编译器报错问题

 提供一个mingw版本:
https://blog.csdn.net/weixin_59243359/article/details/129219628

 

到了这里,关于makefile学习之编译器报错问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在makefile中,CC(编译器)和LD(链接器)代表什么?

    这些变量的名称源自相应工具的名称。通常这些缩写的含义如下: CC 代表“ C c ompiler”(在GCC缩写中,它也被视为“ c ompiler c ollection”)。 LD 是一个链接器(来自“ l ink e d itor”或“ l oa d er”)。 CPP 代表 “ C p re p rocessor” CXX 是一个 C++ 编译器

    2024年02月15日
    浏览(47)
  • 【UNIX 环境编程】GCC 编译器 | Makefile 基础入门 | GDB 调试教学

    💭 写在前面: 本文将介绍如何使用 GCC 编译器编译,并详细介绍了 Makefile 的基本构造、创建Makefile 文件以及 Makefile 变量,以提高编译效率。此外,本文还将探讨GDB调试器的使用,包括调试前的准备、readelf 读取 ELF 文件信息、显示代码、断点、调试、监视、跳转等内容。 

    2024年02月03日
    浏览(68)
  • 解决VScode中:C/C++编译器错误导致头文件报错问题

    一、软件安装 VScode安装网址:https://code.visualstudio.com/ 进入网址,直接download即可。 VScode软件很好安装,下载完安装包之后。 双击安装包 选同意 选下一步 接下来将框中全部打√ 之后一路“下一步”即可。先不用启动。 二、C/C++编译器下载安装 编译器mingw-w64下载网址:http

    2024年02月02日
    浏览(49)
  • 【Linux】Linux编译器-gcc/g++ && Linux项目自动化构建工具-make/Makefile

    目录 Linux编译器-gcc/g++使用 1.背景知识  Linux中头文件的目录在 Linux 库 条件编译的典型应用 2.gcc如何完成 动态库 vs 静态库 debug release Linux项目自动化构建工具-make/Makefile 背景 用法 特殊符号  预处理(去注释,头文件展开,条件编译,宏替换) 编译(生成汇编) 汇编(生成

    2024年02月20日
    浏览(47)
  • Linux开发工具大全 - 软件包管理器yum | vim编辑器 | gcc/g++编译器 | 自动化构建工具Make/Makefile | gdb调试工具

    目录 Ⅰ.  Linux 软件包管理器 yum 一、yum 背景知识 二、yum 的基本使用 1、查看软件包 2、软件包名称构成 3、安装软件 4、卸载软件 Ⅱ.vim编辑器  一、认识vim 1、vim概念  2、模式及其切换  二、vim使用 1、vim的指令(重要)  命令模式 插入模式 底行模式 2、vim配置 Ⅲ.gcc/g++编

    2024年02月05日
    浏览(52)
  • 一个关于编译器优化选项问题的解决

    因为当前项目单片机容量不够使用,打算开启编译器优化,结果在使用KEIL编译器优化后,程序在发送Modbus数据时,程序直接跑飞了 最后发现是 局部变量指针 作为了DMA的内存地址参数,导致当DMA连续搬运数据时,实际那个局部变量已经被释放,导致DMA搬运数据的过程中出现错

    2024年04月09日
    浏览(50)
  • 最新keil5没有ARM CompilerV5或者安装编译器5.06后编译license报错

    踩坑了一中午,终于是搞好了,现在0报错,0警告,看着非常舒服。 事情原由: 现在网上绝大多数的STM32教程都使用的是老版本的MDK,因此编译器用的是老版本的,导致工程的启动文件添加后就报错。 但是肯定有追求完美的小伙伴就喜欢最新版,就偏不用老版本的MDK,就不卸

    2024年02月11日
    浏览(46)
  • Visual Studio编译器编译时出现“请选择有效启动项”问题的解决办法

    使用visual studio打开的是一个文件夹并不是一个项目,找不到启动项是正常的。 我们使用visual studio从现有代码创建项目即可。 上面如果默认创建Windows应用程序项目运行项目时就可能会出现 错误 LNK2019 无法解析的外部符号 _WinMain@16,函数 \\\"int __cdecl invoke_main(void)\\\" (?invoke_main@@

    2024年02月11日
    浏览(98)
  • 【linux】编译器使用

    目录 1. gcc ,g++ 编译器使用 a. 有关gcc的指令(g++同理) 2. .o 文件和库的链接方式 a. 链接方式 b. 动态库 和 静态库 优缺点对比 c. debug 版本 和 release 版本 注意: linux下自带gcc编译器,如果要安装g++编译器; sudo yum install -y gcc-g++ (普通用户) gcc + 文件名 得到可执行文件 gcc + 文

    2024年04月26日
    浏览(37)
  • 如何使用 C 编译器编译成 DLL 文件

    如果你想使用 C 编译器来编译成 DLL 文件,你可以使用下面的步骤: 首先,你需要安装一个 C 编译器,比如 GCC 或者 Microsoft Visual C++。 然后,你需要创建一个 C 源文件,并在文件中编写 DLL 所需的代码。 在命令行中进入到 C 源文件所在的目录。 编译 C 源文件,使用下面的命令

    2024年02月16日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包