问题标签 [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.
dependencies - 使用 NMAKE 进行自动依赖跟踪
是否可以使用 VS 2005 编译器自动检测 NMake makefile 中的源依赖关系(实际上可以使用 GNU make 和 GCC 编译器)?
查看GCC的“-M”选项。在 makefile 中包含 GCC 的输出文本会导致自动跟踪源依赖项而不维护它们,因为 GCC 调用可以使用虚假目标自动执行。
windows - 设备驱动源文件的预处理
有正确的语法吗?
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
有任何想法吗?
32-bit - 构建 32 位 Detours 库
我正在使用 Microsoft 的 Detours 库,并且我使用的是 32 位版本(免费)。我现在正在安装 Windows 7 的 64 位,我似乎无法使用 nmake 编译 Detours。
这是错误:
如您所见,它正在尝试编译为 64 位。如何强制 nmake 构建 32 位?
谢谢,戴夫
nmake - 无法弄清楚如何从 nmake 读取文件
我正在做这样的事情:
然而,该filecontent
变量似乎并不包含文件的内容somefile.txt
。
visual-studio - Visual Studio Makefile 项目同步
我继承了一些我计划在以 C++ 为中心的解决方案中重用的 C99 代码。不幸的是,即使是微软最新的编译器也几乎不支持重要的 C99 特性。
有问题的代码已经过死测试,我宁愿不费心用 C++ 重写它。这意味着为了让我逐字重用代码,我将不得不依赖符合标准的 3rd-party 编译器。
环顾四周后,似乎对我来说集成此代码的最佳方式是在我的解决方案中添加一个“Makefile 项目”。只有一个问题。现在似乎我有责任使“构建命令行”属性与我通过 Visual Studio 添加到项目中的文件保持同步。
乍一看,我找不到通过通常的 Visual Studio $() 样式的宏获取项目中文件列表的方法。我总是可以编写一个 shell 脚本来枚举我的源代码树中的* .c 文件并将它们的路径传递给第 3 方编译器。但是,我有点期望 Visual Studio 至少会为我完成这部分工作,因为它已经在相关的 *.vc[x]proj 文件中包含了这些信息。
我不太可能需要向这个项目添加任何新的源文件,但是,这种手动同步(即,没有脚本)对我来说似乎相当脆弱。
除了编写帮助脚本之外,我还有哪些选择?
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”,它会安装项目。我现在输入什么来安装项目?
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++?
makefile - 在 NMake 中测试文件是否存在
在 GNU Make 的 makefile 中,我使用这个习惯用法来测试文件是否存在:
fatal error U1000: syntax error : ')' missing in macro invocation
但它在 NMake ( )中不起作用。我该如何更换它?如果替换在两个构建系统中都有效,那将是完美的。
c - C: LINK.EXE 从 Makefile 失败,但不是从命令行失败
当我尝试从 makefile 链接时,出现以下错误:
生成文件执行:
但是,如果我重新运行失败的完全相同的行并从控制台链接,我将获得成功的构建。我使用的是完全相同的lib
,并且obj
是从我的 make 文件中生成的。
控制台执行:
我已经包含了我的 makefile 以供参考。
生成文件
测试
我已经在 Visual C 版本 9 和版本 10 上对此进行了测试。我很困惑为什么它会在我的 makefile 上失败,但在命令行上手动输入时会成功运行。
解决方案:
/E - 使用环境路径覆盖宏变量。