我想在我的项目中使用隐式链接,而nmake确实想要一个.def文件.问题是,这是一个类,我不知道在exports部分写什么.有人能指出我正确的方向吗?
错误消息如下:
NMAKE:U1073:不知道如何制作'DLLCLASS.def'
PS:我正在尝试使用Windows CE Platform Builder构建.
当我在Windows命令提示符中逐个运行以下命令时,它们工作正常.
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat""
cd C:\\Program Files (x86)\\Jenkins\\jobs\\gdal_win32_develop\\workspace\\codes\\deps\\gdal\\gdal_1.8_rtc
nmake -f makefile.vc clean
nmake -f makefile.vc
Run Code Online (Sandbox Code Playgroud)
当我将它们写入一个bat文件并尝试在Windows命令提示符下执行bat文件时,它只输出第一个命令,左边三个命令不执行.
这该怎么做?我需要这个,因为我想在一个Jenkins构建项目中运行它.
在下面的程序中,有两件事我不明白.
如何在Microsoft VC中使用此makefile?
为什么会有'?' 在'='之前?
程序:
ifeq ($(TARGET_COMPILER),ms)
include ../makefile.ms.config
DBG?= /Zi
OPT= /Ox
CXXFLAGS += $(COMMON_FLAGS) $(OPT) $(DBG)
EEXT = $(EXT).dll
ifeq ($(GZSTREAM),1)
MYLIBS = src/gzstream/lib/zlib.lib
endif
endif
Run Code Online (Sandbox Code Playgroud) 我有一个 Qt 项目,在开发时显示了一个调试控制台,我即将将产品运送到我删除了 qmake 控制台命令: CONFIG += console
但是,当我这样做时,我收到以下错误:
link /LIBPATH:"c:\Qt\4.5.0\lib" /NOLOGO /INCREMENTAL:NO /LTCG /MANIFEST /MANIFESTFILE:"./_obj/win32\Lynx.intermediate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /VERSION:4.00 /OUT:bin\win32\Lynx.exe @C:\DOCUME~1\hannentp\LOCALS~1\Temp\nm1C9.tmp
link_.exe /LIBPATH:c:\Qt\4.5.0\lib /NOLOGO /INCREMENTAL:NO /LTCG /MANIFEST /MANIFESTFILE:./_obj/win32\Lynx.intermediate.manifest /SUBSYSTEM:WINDOWS /MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*' /VERSION:4.00 /OUT:bin\win32\Lynx.exe @C:\DOCUME~1\hannentp\LOCALS~1\Temp\nm1C9.tmp~
LINK_ : fatal error LNK1181: cannot open input file 'name='Microsoft.Windows.Common-Controls''
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\Bin\link.EXE"' : return code '0x49d'
Stop.
Run Code Online (Sandbox Code Playgroud)
我认为缺少 lib 路径,但是我确实已经设置了大量环境变量并正在工作。有人见过这个并知道 Microsoft.Windows.Common-Controls 的位置吗?
另外,我是从 buildbot 运行的,所以 VS2008 的 IDE 并不是我真正需要帮助的地方。
我需要 nmake 的当前工作目录作为当前构建的目录以在 makefile 中使用。是否有某种内置宏可以实现此目的?
我还是Qt的新手.在过去,我曾经在计算机上下载Qt并安装它没有任何问题,我可以立即访问所有Qt SDK资源,包括QtCreator.
现在,我下载了Qt SDK 4.8.3,经过一些阅读后我最终安装了Windows SDK 7.然后我将Qt文件解压缩到C:\ Qt.我还将C:\ Qt\4.8.3 \添加到系统路径中.然后我运行configure,结束时没有错误.然后我尝试运行nmake哪个失败,出现以下错误:
生成代码... link /LIBPATH:"c:\Qt\4.8.3\lib"/LIBPATH:"c:\Qt\4.8.3\lib"/ NOLOGO/DYNAMICBASE/NXCOMPAT/BASE:0x67000000/DEBUG/DLL/MANIFEST /MANIFESTFILE:"tmp\obj\debug_shared\QtCored.intermediate.manifest"/VERSION:4.83 /OUT:....\lib\QtCored4.dll @C:\ Users\MELKAM~1\AppData\Local\Temp \nm5A03.tmp
创建库....\lib\QtCored4.lib和对象....\lib\QtCored4.exp LINK:致命错误LNK1123:转换为COFF期间失败:文件无效或损坏NMAKE:致命错误U1077:'"C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\VC\Bin\amd64\link.EXE"':返回代码'0x463'停止.NMAKE:致命错误U1077:'"C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\VC\Bin\amd64 \nmake.exe"':返回代码'0x2'停止.NMAKE:致命错误U1077:'cd':返回代码'0x2'停止.
现在我已经尝试了两次以上没有运气.我应该看哪个指针?任何建议表示赞赏.
谢谢.
我想自己建立Qt.我检查了一切,现在想运行configure.Visual Studio 2013编译器在PATH中但我收到此错误
C:\Users\Philipp\Desktop\Qt>configure -developer-build -opensource -nomake examp
les -nomake tests -opengl desktop
+ cd qtbase
+ C:\Users\Philipp\Desktop\Qt\qtbase\configure.bat -top-level -developer-build -
opensource -nomake examples -nomake tests -opengl desktop
Please wait while bootstrapping configure ...
<srcbase> = C:/Users/Philipp/Desktop/Qt/qtbase
<outbase> = C:/Users/Philipp/Desktop/Qt/qtbase
Microsoft (R) Program Maintenance Utility Version 12.00.21005.1
Copyright (C) Microsoft Corporation. All rights reserved.
cl -c -Yc -nologo -Zm200 -Zc:wchar_t -MT -W3 -GR -EHsc -w34100 -w34189
-DUNICODE -DQT_NO_CODECS -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPO
NENT -DQT_NO_COMPRESS -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -D_CRT
_SECURE_NO_DEPRECATE -DQT_BOOTSTRAPPED -DQT_BUILD_CONFIGURE …Run Code Online (Sandbox Code Playgroud) 我有兴趣学习Makefile项目的艺术.但是,我有一个问题.
对于后台:在我的计算机上,我已经nmake安装了,我假设在安装它时附带了Visual Studio.我可能正在考虑让我的C++项目使用makefile结构nmake.但是,如果我想转向其他流行的make版本呢?gmake?这引出了我的主要问题:
如果我学习了make(nmake,gmake)的一个实现并转移到另一个实现,我可以在多大程度上预期makefile语法的差异?在惯例/实践中?
如果每个实现之间存在实质性差异,我会有一个后续问题(有点自以为是):
make我应该首先学习哪种实施?为什么?
如何为Windows 7 x64构建Git 2.4.5?我下载了代码源的zip文件并将其解压缩.如果我尝试通过nmakeMS Visual Studio 2013的实用程序构建这些源,那么我收到一个错误:

我正在寻找有关makefile结构的一些基本信息.任何指针都将受到高度赞赏.谢谢.
我的 PC 上安装了 Microsoft Visual C++ 2012 可再发行组件,但是当我尝试在 cmd 中使用 NMAKE 命令时,它显示:
“nmake”不被识别为内部或外部命令、可操作程序或批处理文件。
我转到 Visual Studio 8 文件夹,但找不到nmake.exe或vcvars32.bat.
我应该怎么办?
我在访问nmake Conditional中的环境变量时遇到问题。我已经尝试了以下方法,它们都会导致!IF. 我还尝试了所有==变体:
!IF $(PROCESSOR_ARCHITECTURE) = "x86"
LIB_SRCS = $(LIB_SRCS) rdrand.cpp
!ENDIF
!IF %PROCESSOR_ARCHITECTURE% = "x86"
LIB_SRCS = $(LIB_SRCS) rdrand.cpp
!ENDIF
!IF [$(PROCESSOR_ARCHITECTURE) = "x86"]
LIB_SRCS = $(LIB_SRCS) rdrand.cpp
!ENDIF
!IF [%PROCESSOR_ARCHITECTURE% = "x86"]
LIB_SRCS = $(LIB_SRCS) rdrand.cpp
!ENDIF
Run Code Online (Sandbox Code Playgroud)
例如,使用!IF $(PROCESSOR_ARCHITECTURE) = "x86"中的结果test.nmake(30) : fatal error U1023: syntax error in expression。第 30 行是!IF.
MSDN 的Makefile Preprocessing Directives页面是一个预告片,它没有告诉我如何形成表达式(或者我无法找到它)。
如何访问 nmake 条件中的变量?
如果我按照qxg的建议,那么块中的代码不会被执行:
!IF "$(PROCESSOR_ARCHITECTURE)" = "x86"
LIB_SRCS = …Run Code Online (Sandbox Code Playgroud)