jww*_*jww 0 nmake environment-variables visual-studio
我在访问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 = $(LIB_SRCS) rdrand.cpp
!ENDIF
Run Code Online (Sandbox Code Playgroud)
事实上,打印"$(PROCESSOR_ARCHITECTURE)"
显示!MESSAGE
它应该匹配。将 a 放入XXX
块中导致失败不会产生错误。
以下是变量的转储:
C:\Users\Test>nmake /P
Microsoft (R) Program Maintenance Utility Version 11.00.61030.0
Copyright (C) Microsoft Corporation. All rights reserved.
MACROS:
...
PROCESSOR_ARCHITECTURE = x86
OS = Windows_NT
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2638 次 |
最近记录: |