直接从vim编译

2024-02-27

我想编译 cpp 文件而不关闭 vi。
我知道:!g++ 文件.cpp但是我更喜欢:make所以我在 .vimrc 文件中添加了这一行

au 文件类型 C 设置 makeprg=gcc\ %
au 文件类型 Cpp 设置 makeprg=g++\ %

但我不断得到
“make: ***** 未指定目标且未找到 makefile。停止。**”消息。
谁能告诉我我的设置有什么问题吗?
我使用上面的选项编译成功。


您需要在那里进行替换,请尝试以下操作:

set makeprg=gmake\ %:r.o

哦,这假设你有:

  1. 目录中的 (M|m)akefile,或者
  2. 默认后缀规则适用于您的环境(看起来没有)

通过输入以下内容检查默认值:

make -n <my_file>.o

看看这是否能给你一些明智的东西。

如果其他位置有 makefile,您可以添加 -f 选项来指向 makefile,例如:

set makeprg=gmake\ -f\ ../some_other_dir/makefile\ %:r.o

顺便说一句,要了解 make,尤其是 gmake,我建议看一下优秀的书“Managing Projects with GNU Make”(已清理的亚马逊链接 https://rads.stackoverflow.com/amzn/click/com/0596006101).

HTH.

cheers

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

直接从vim编译 的相关文章

随机推荐

  • 没有 single-int-arg 构造函数/工厂方法

    我有这个代码 final Person p new Person 1L final ObjectMapper mapper JacksonUtil INSTANCE getMapper final TypeReference
  • Android 滑动抽屉在创建时打开

    我想要一个在应用程序启动时打开的滑块 它将通过按钮等打开 当用户关闭它时 将有更多按钮可以访问 滑动抽屉可以做到这一点吗 我要在 onCreate 方法中添加什么 Thanks XML 布局 在基本 LinearLayout 中
  • 由于在形成 SQL 查询时不赞成字符串替换,因此如何动态分配表名?

    sqlite3 还很新 所以请耐心听我说 我想要一个可以传递表名和要更新的值的函数 我最初是从这样的事情开始的 def add to table table name string cursor execute INSERT INTO ta
  • 启动后gunicorn无法启动

    我正在运行 Debian Web 服务器 其中 nginx 和 Gunicorn 运行 django 应用程序 我已经一切正常并运行良好 但重新启动服务器后 我收到 502 bad gateway 错误 我已将问题追溯到gunicorn 在
  • 不对应于实体的 RESTful 操作/服务?

    我喜欢 RESTful 因为它简单 而且它避免了 SOAP 等普通 企业 系统的弊端 或者 DCOM 和 RPC 的二进制难度 但 REST 似乎比更抽象的服务更适合数据库实体 我想知道您是否可以建议我如何处理这些情况 例如 假设我有一个用
  • Teams 中的 QnA Maker Bot 格式问题

    我们使用 QnA Maker 知识库实现了一个简单的 Azure 机器人 并启用了 Teams 通道 在 webChat 中 Markdown 格式渲染得很好 然而 在 Teams 中 Markdown 格式并不总是按预期工作 如果答案中没
  • 区域多边形未显示在 ggplot2 Choropleth 地图中

    我正在尝试使用 ggplot2 绘制非常基本的地图 我不明白为什么彩色多边形不会显示 看来我的代码与我在许多教程和本网站上已经回答的问题中找到的代码没有什么不同 我认为这可能来自我准备数据的方式 参见下面的 100 可重复示例 librar
  • clflush 不刷新指令缓存

    考虑以下代码段 include
  • readonly 关键字不会使 List<> 成为只读?

    我在公共静态类中有以下代码 public static class MyList public static readonly SortedList
  • read_sql_query() 使用 SQLAlchemy 2.0.0 抛出“'OptionEngine'对象没有属性'execute'”

    首先 我是开发界的一个全新的人 我目前正在学习人工智能 数据科学课程 我的工作之一是使用 SQL 数据库使用 Prophet 进行预测 然后使用这些预测来制作 PowerBI 但目前 我被Python代码困住了 我最初不是开发人员 所以我不
  • 为什么 debug.getinfo(1) 的 'name' 为 nil

    我正在尝试构建一个 lua 测试框架 让您知道有问题的函数 但是当我从 loadstring 切换到 G 我进行了切换 以便我的测试工具可以看到函数调用的结果 我的函数开始使用 nil 作为函数名称 Why can G在下面的代码中没有检测
  • 静态嵌套类作为泛型类型绑定不起作用

    File 抽象容器 java package container import static container AbstractContainer public abstract class AbstractContainer
  • 将键盘输入法更改为unicode?

    我将创建一个名为 高棉键盘输入法 的应用程序 高棉语只是采用 unicode 标准 范围 1780 17FF 参考http www unicode org charts PDF U1780 pdf http www unicode org
  • 进度条前景色

    有谁知道如何更改 WPF 进度条的前景色 它似乎总是与绿色融为一体 试试这个
  • Laravel - 需要服务提供商中的 php 脚本

    我对 Laravel 很陌生 并使用以下方法为我的辅助功能实现了服务提供者这个答案 https stackoverflow com a 32422699 4171578 on SO 它建议 in the register你新生成的函数 He
  • 是否可以在 .NET Core 3.1/5 WPF 项目中使用源生成器?

    我有一个项目 使用代码生成器自动提供INotifyPropertyChanged对字段的支持 项目中的某些类实现了一个接口 该接口具有一些应该由实现类的源生成器生成的属性 现在 在编辑这些类中的任何一个时 Visual Studio 不会显
  • 模糊匹配两个数据框

    我想合并两个数据框 df1 和 df2 df1 lt tibble x c FIDELITY FREEDOM 2015 FUND VANGUARD WELLESLEY INCOME FUND y c 1 2 df2 lt tibble x
  • 通过 Gmail 发送电子邮件的属性

    我目前正在编写一个简单的程序 通过 gmail 将电子邮件发送到 gmail 帐户 尝试了各种方法 但经常遇到同样的错误 无法连接到 SMTP 主机 smtp gmail com 端口 587 和属性设置有没有关系 这是我的程序的片段 正在
  • Rails 3.1 需要在索引页面上进行就地编辑

    我有一个带有自由格式评论字段的索引页 Comment 字段是另一个不相关的模型的一部分 长话短说 一部分是我 一部分是用户 我需要弄清楚的是用什么来做到这一点 我遇到了 Best In Place 的问题 here https stacko
  • 直接从vim编译

    我想编译 cpp 文件而不关闭 vi 我知道 g 文件 cpp但是我更喜欢 make所以我在 vimrc 文件中添加了这一行 au 文件类型 C 设置 makeprg gcc au 文件类型 Cpp 设置 makeprg g 但我不断得到