标签: nmake

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

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

LINK : fatal error LNK1104: cannot open file 'LIBCMT.lib'.
Run Code Online (Sandbox Code Playgroud)

Makefile执行:

C:\Users\snmcdonald\Desktop\winMake2\winMake2>nmake "_DEBUG=" /f win2.mk build

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

        cl /c /ZI /Fo"Debug\\" /Fe"Debug\\" main.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

main.c
        cl /c /ZI /Fo"Debug\\" /Fe"Debug\\" lib.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

lib.c
        lib Debug\lib.obj …
Run Code Online (Sandbox Code Playgroud)

c nmake makefile linker-errors

4
推荐指数
1
解决办法
5177
查看次数

使用$(shell)时NMake返回错误

我是nmake的新手,需要修改构建脚本。我想执行命令并将结果捕获到变量中,然后将在整个脚本中使用该变量。但是,当尝试使用shell命令时,我收到以下错误消息:

makefile(4) : fatal error U1000: syntax error : ')' missing in macro invocation
Stop.
Run Code Online (Sandbox Code Playgroud)

我整理了一行脚本来测试shell命令。

生成文件:

CMDRESULT = $(shell hostname)

all:
    echo $(CMDRESULT)
Run Code Online (Sandbox Code Playgroud)

这是使用的nmake的版本:

>nmake /?

Microsoft (R) Program Maintenance Utility Version 11.00.60610.1
Copyright (C) Microsoft Corporation.  All rights reserved.
Run Code Online (Sandbox Code Playgroud)

nmake是否支持shell命令?nmake中是否还有另一个选项可以执行命令并捕获结果?

windows shell powershell nmake build

4
推荐指数
1
解决办法
1707
查看次数

Microsoft nmake:是否可以从shell命令输出中定义宏?

我正在尝试将我的SVN修订信息保存到宏中,同时通过Microsoft Visual Studio的nmake创建我的代码.

在GNU make中,我做了类似的事情:

SVN_REVISION=r$(shell svnversion -n)
Run Code Online (Sandbox Code Playgroud)

所以我得到例如:SVN_REVISION = r10001

这也可以在Microsoft nmake中做到吗?

先感谢您.

c++ nmake visual-studio

4
推荐指数
1
解决办法
1194
查看次数

链接器错误构建GDAL

我正在使用MSVC 2015 64位命令提示符从源代码构建GDAL.我正在使用Windows 8.部分通过构建,我收到以下错误:

Creating library gdal_i.lib and object gdal_i.exp
odbccp32.lib(dllload.obj) : error LNK2019: unresolved external symbol _vsnwprintf_s referenced in function StringCchPrintfW
gdal201.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.EXE"' : return code '0x460'
Stop.
Run Code Online (Sandbox Code Playgroud)

我已阅读Microsoft网站和GDAL Git问题部分,这是2014年MSVC和MSVC 2015预发布版本的问题,但该问题应该在MSVC 2015最终版本之前得到解决.

我似乎并不是唯一有此问题的人,但我也没有看到解决方案(除了恢复到旧版本的MSVC,如2013).有没有人有幸使用MSVC 2015(64位)来构建GDAL?

c++ nmake gdal visual-c++ visual-studio-2015

4
推荐指数
2
解决办法
2871
查看次数

nmake推理规则限于深度1

我注意到nmake.exe它的推理规则搜索仅限于一个丢失的文件。我在网络上没有提到这个问题。我想念什么吗?

$ 猫Makefile
后缀:.a .b .d .e

全部:abc.e

.ab:
        复制$ ** $ @

.bd:
        复制$ ** $ @

.de:
        复制$ ** $ @

$ touch abc.a

$ nmake
NMAKE:致命错误U1073:不知道如何制作“ abc.e”
停止。

$ nmake -n abc.a
'abc.a'是最新的

$ nmake -n abc.b
        复制abc.a abc.b

$ nmake -n abc.d
NMAKE:致命错误U1073:不知道如何制作“ abc.d”
停止。

这个相同的Makefile与GNU make一起产生以下内容:

$ make -n
复制abc * abc.b
复制abc * abc.d
复制abc * abc.e
rm abc.b abc.d

当然,$**宏和copy命令在GNU make中不那么有用。;-)

您的版本nmake.exe处理得更好吗?有魔术开关吗?还是真的像看起来那样坏了?

nmake

3
推荐指数
1
解决办法
703
查看次数

如何编译Ruby C扩展并在Windows上链接libcurl

我正在尝试构建一个使用libcurl的Ruby C Extensions.到目前为止,我已经在Os X上成功构建了它.但是我在Windows开发方面经验不足,我不确定如何去做.

到目前为止,我可以通过遵循这些说明或多或少地使用Visual Studio命令提示符中的extconf.rb和nmake编译Ruby C Extensions

http://blogs.law.harvard.edu/hoanga/2006/12/14/getting-a-ruby-c-extension-to-compile-on-windows/

但是我的扩展链接libcurl,extconf.rb中有一行来检查这一点

# Make sure the cURL library is installed.
have_library("curl")
Run Code Online (Sandbox Code Playgroud)

在创建makefile时,我明白了

checking for main() in curl.lib... no
creating Makefile
Run Code Online (Sandbox Code Playgroud)

当我运行nmake时,我明白了

fatal error C1083: Cannot open include file: 'curl/curl.h': No such file or directory
Run Code Online (Sandbox Code Playgroud)

这是所有预期的,因为它没有安装.我已经下载了curl-7.26.0-devel-mingw64(我认为这适用于Windows 7)

我只是想在Windows环境中弄清楚我应该放置/ bin或/ include以便我的编译器可以找到它们.

c ruby windows nmake ruby-c-extension

3
推荐指数
1
解决办法
4034
查看次数

将qmake配置为安装标头到不同的子文件夹

我有一个项目,其中头文件在qt项目文件中的不同子文件夹(/ config/.h;/thread / .h等)中包含,如:

HEADERS += $$PWD/src/*.h
HEADERS += $$PWD/src/config/*.h
Run Code Online (Sandbox Code Playgroud)

然后安装简单描述:

headers.files = $$HEADERS
headers.path  = $$INSTALL_INC_DIR/proj
Run Code Online (Sandbox Code Playgroud)

使用此lib的其他一些项目将包含来自该安装目录的文件,并且会出现问题 - 所有.h文件都复制到同一文件夹,没有子文件夹,并且在代码中它们包含在子文件夹(#include <proj/config/config.h>)中.

有可能告诉qmake(或实际上是nmake)复制文件时保留原始文件夹结构吗?

qt qmake nmake

3
推荐指数
1
解决办法
2083
查看次数

如何使用vs2013的NMake在cmake中设置v120xp

我使用win7-32​​bit + CMake的 + vs2013的NMAKE .EXE建立exe文件,我需要的exe能够在WinXP跑,我知道该怎么做,与vs2013 IDE(设置平台的工具,以v120xp),但我我没有使用IDE,我只是使用它的NMake.这是我生成项目文件和exe的方法:

build> cmake -G "NMake Makefiles" ..
build> nmake
Run Code Online (Sandbox Code Playgroud)

问题1:在CMakeLists.txt中,如何设置它使用v120xp?

问题2:是否有必要使用v120xp构建所有静态库?或者只是exe?

windows-xp nmake cmake visual-studio-2013

3
推荐指数
1
解决办法
3116
查看次数

如何获取在Windows上构建Perl模块的工具?

我需要在Windows上安装一些需要我的Perl程序的模块.看起来我需要一个64位nmake来构建这些模块.我在nmake15网上找到了,但它在我的系统上不起作用.

如何在Windows上构建这些Perl模块?

我下载目录的屏幕截图

windows perl nmake activeperl strawberry-perl

3
推荐指数
1
解决办法
526
查看次数

当我在 Windows 中通过 NMAKE 使用它时如何在 MAKEFILE 中使用它

我不熟悉MAKEFILE并试图弄清楚如何在销毁部署之间等待2 秒。

看起来NMAKE在互联网上的资源非常有限,我发现sleep 2抛出“睡眠”的那个不是内部或外部命令,也不是可运行的程序或批处理文件。

我在WINDOWS而不是LINUX上工作。

REGISTRY=registry.ilerler.info
IMAGE=ilerler.geocode.host
TAG=latest

MARATHON=http://mesos.ilerler.com/v2/apps/geocode
PAYLOAD=Marathon_geocode.json

.PHONY: deploy

push:
    docker push $(REGISTRY)/$(IMAGE):$(TAG)

destroy:push
    curl -X DELETE $(MARATHON)
    echo Waiting
    sleep 2

deploy:destroy
    curl -X PUT -H "Content-Type: application/json" $(MARATHON) -d@$(PAYLOAD)
Run Code Online (Sandbox Code Playgroud)

nmake makefile

3
推荐指数
1
解决办法
1万
查看次数