问题标签 [nmake]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1028 浏览

dependencies - 使用 NMAKE 进行自动依赖跟踪

是否可以使用 VS 2005 编译器自动检测 NMake makefile 中的源依赖关系(实际上可以使用 GNU make 和 GCC 编译器)?

查看GCC的“-M”选项。在 makefile 中包含 GCC 的输出文本会导致自动跟踪源依赖项而不维护它们,因为 GCC 调用可以使用虚假目标自动执行。

0 投票
1 回答
989 浏览

windows - 设备驱动源文件的预处理

有正确的语法吗?

0 投票
1 回答
1399 浏览

c - 来自 nmake:“没有规则可以制作目标 `*.rc'”

我正在尝试从 Windows 7 系统上的源代码构建腻子托盘,腻子的一种变体。我需要构建它,而不仅仅是下载它,因为我需要实现一些额外的功能。我正在使用 nmake 和(不应该相关的)Microsoft C++ 编译器。准确地说,我在 cmd 窗口中工作,我在 putty 源的 WINDOWS 文件夹中,并且正在运行命令 nmake -f MAKEFILE.VC。

C 源代码正在正确编译,但后来我遇到了一个我不明白的错误:

我完全理解如果它说它无法制作特定文件意味着什么:这意味着该文件丢失了。但我不明白这对通配符有何意义。

MAKEFILE.VC 的可能相关部分是

而且,是的,文件夹中有 *.rc 文件:PAGEANT.RC、PLINK.RC、PSCP.RC、PSFTP.RC、PUTTY.RC、PUTTYTEL.RC

有任何想法吗?

0 投票
2 回答
4158 浏览

32-bit - 构建 32 位 Detours 库

我正在使用 Microsoft 的 Detours 库,并且我使用的是 32 位版本(免费)。我现在正在安装 Windows 7 的 64 位,我似乎无法使用 nmake 编译 Detours。

这是错误:

如您所见,它正在尝试编译为 64 位。如何强制 nmake 构建 32 位?

谢谢,戴夫

0 投票
3 回答
789 浏览

nmake - 无法弄清楚如何从 nmake 读取文件

我正在做这样的事情:

然而,该filecontent变量似乎并不包含文件的内容somefile.txt

0 投票
1 回答
675 浏览

visual-studio - Visual Studio Makefile 项目同步

我继承了一些我计划在以 C++ 为中心的解决方案中重用的 C99 代码。不幸的是,即使是微软最新的编译器也几乎不支持重要的 C99 特性。

有问题的代码已经过死测试,我宁愿不费心用 C++ 重写它。这意味着为了让我逐字重用代码,我将不得不依赖符合标准的 3rd-party 编译器。

环顾四周后,似乎对我来说集成此代码的最佳方式是在我的解决方案中添加一个“Makefile 项目”。只有一个问题。现在似乎我有责任使“构建命令行”属性与我通过 Visual Studio 添加到项目中的文件保持同步。

乍一看,我找不到通过通常的 Visual Studio $() 样式的宏获取项目中文件列表的方法。我总是可以编写一个 shell 脚本来枚举我的源代码树中的* .c 文件并将它们的路径传递给第 3 方编译器。但是,我有点期望 Visual Studio 至少会为我完成这部分工作,因为它已经在相关的 *.vc[x]proj 文件中包含了这些信息。

我不太可能需要向这个项目添加任何新的源文件,但是,这种手动同步(即,没有脚本)对我来说似乎相当脆弱。

除了编写帮助脚本之外,我还有哪些选择?

0 投票
2 回答
20757 浏览

visual-studio-2010 - 在 Windows 7、Visual Studio 2010 和命令行中使用 CMake

如何在命令行上将 CMake 与 Visual Studio 2010 一起使用?

使用 Visual C++ Express Edition (2010) 我会输入:

简单的。

我注意到在 Visual Studio 2010 中,CMake 会生成一个解决方案文件而不是 Makefile。所以我输入:

但是然后呢?我曾经能够输入“nmake install”,它会安装项目。我现在输入什么来安装项目?

0 投票
11 回答
39677 浏览

c++ - 将 FORTRAN 转换为 C/C++

作为我最后一年项目的一部分,我需要将一些 FORTRAN 代码转换为 C 或 C++(无论哪种语言,只要我能理解它,并且我能理解 C 风格的语言)。

我发现了 f2c,一个据称将 FORTRAN 转换为 C 的程序,并尝试按照说明安装它,方法是将 makefile.vc 文件保存在我的驱动器上,然后执行

(这是 f2c下载页面中包含的关于安装 f2c 的 README 文件的一部分)

要在 Linux 或 Unix 系统上编译 f2c,请将 makefile.u 复制到 makefile,必要时编辑 makefile(参见其中和下面的注释)并键入“make”(或者可能是“nmake”,具体取决于您的系统)。

使用 Microsoft Visual C++ 在 MS Windows 系统上编译 f2c.exe,

复制 makefile.vc 生成文件 nmake

对于其他 PC 编译器,您可能需要使用 -DMSDOS(即使用 MSDOS #defined)编译 xsum.c。

如果您的编译器不理解 ANSI/ISO C 语法(即,如果您有 K&R C 编译器),请使用 -DKR_headers 进行编译。

在文件具有单独的二进制和文本模式的非 Unix 系统上,您可能需要“make xsumr.out”而不是“make xsum.out”。

我正在运行 x64 位版本的 Windows Vista 并尝试了“nmake”,但我得到了

'nmake' 不是内部或外部命令、可运行程序或批处理文件。

经过一番搜索,我下载了 Nmake15.exe,但它在 x64 位机器上不起作用,而且显然没有它的版本。所以我下载了 Windows SDK,在被告知可以工作之后,但它并没有改变任何东西。

如果有的话,我在这一切中哪里出错了,有没有办法将 FORTRAN 代码转换为 C 或 C++?

0 投票
4 回答
11596 浏览

makefile - 在 NMake 中测试文件是否存在

在 GNU Make 的 makefile 中,我使用这个习惯用法来测试文件是否存在:

fatal error U1000: syntax error : ')' missing in macro invocation但它在 NMake ( )中不起作用。我该如何更换它?如果替换在两个构建系统中都有效,那将是完美的。

0 投票
2 回答
5765 浏览

c - C: LINK.EXE 从 Makefile 失败,但不是从命令行失败

当我尝试从 makefile 链接时,出现以下错误:

生成文件执行:

但是,如果我重新运行失败的完全相同的行并从控制台链接,我将获得成功的构建。我使用的是完全相同的lib,并且obj是从我的 make 文件中生成的。

控制台执行:

我已经包含了我的 makefile 以供参考。

生成文件

测试

我已经在 Visual C 版本 9 和版本 10 上对此进行了测试。我很困惑为什么它会在我的 makefile 上失败,但在命令行上手动输入时会成功运行。

解决方案:

/E - 使用环境路径覆盖宏变量。