nmake conditionalの環境変数にアクセスする際に問題があります。私は次のように試してみましたが、それらは全て、ある種の文法エラーをもたらします。!IF
test.nmake(30) : fatal error U1023: syntax error in expression
で!IF $(PROCESSOR_ARCHITECTURE) = "x86"
結果を用いて、例えばnmakeの条件変数にアクセスする方法は?
!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
:私はまた、すべての==
バリエーションを試してみました。 30行目は!IF
です。
MSDNのMakefile Preprocessing Directivesページはティーザーであり、式の作成方法(または見つからない)を教えてくれません。
nmakeの条件変数にアクセスするにはどうすればよいですか?私はqxgの提案に従っている場合
、そのブロック内のコードが実行されていません。実際には
!IF "$(PROCESSOR_ARCHITECTURE)" = "x86"
LIB_SRCS = $(LIB_SRCS) rdrand.cpp
!ENDIF
を、!MESSAGE
で"$(PROCESSOR_ARCHITECTURE)"
を印刷すると、それが一致している必要がありますを示しています。ブロックにエラーが発生しないようにブロック内に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
...
を試してみてください...私はタイプミスがあった - '***大手のいずれかを忘れてしまいました$ '***。 – jww