我试图按照本文中提到的步骤在我的远程桌面上安装libcurl库:How do you properly install libcurl for use in visual studio 2017?
但是当我运行此命令行nmake / f Makefile.vc mode = static时,出现此错误:make-3.80:***没有规则可以使目标为'/ NOLOGO'。停止
此错误来自Makefile.vc中的此行:
@ $(MAKE)/ NOLOGO / F MakefileBuild.vc
在仔细研究了这个问题并浏览了Visual Studio文档之后,我发现/ NOLOGO只是一个选项,但是以某种方式被视为文件(从上述错误中可以看出)。
因此,我尝试在本地计算机上遵循相同的步骤,因此能够安装libcurl库。然后,我尝试查看$(MAKE)在本地计算机和远程桌面上的计算结果,发现以下内容:
在我的本地计算机上,$ MAKE是“ C:\ ProgramFiles(x86)\ MicrosoftVisualStudio \ 2017 \ Professional \ VC \ Tools \ MSVC \ 14.16.27023 \ bin \ HostX86 \ x86 \ nmake.exe”
在我的远程桌面上,$ MAKE是make-3.80
有人可以建议这里出现什么问题吗? (在两种情况下,我都使用nmake运行相同的命令)
根据documentation,环境变量优先于内置变量:
如果宏具有多个定义,则NMAKE使用优先级最高的定义。以下列表显示了从最高到最低的优先顺序:
- 在命令行上定义的宏
- 在makefile或include文件中定义的宏
- 继承的环境变量宏
- 在Tools.ini文件中定义的宏
- 预定义的宏,例如CC和AS
当定义MAKE
环境变量时,它将接管内置值。
实际上,远程桌面的MAKE环境变量设置为make-3.80,这实际上是在执行make而不是nmake。删除环境变量后,我就能够成功构建库。