OpenSSL1.1のx64ビルドができない
Windows 10(x64)でOpenSSL1.1をコマンドラインからビルドするとエラーが発生します。
x86のビルドは通るのですが原因は何でしょうか。
LNK1112発生時はソリューションのプロパティから対象コンピューターを変更するという方法が案内されていますが、コマンドラインからこの設定は変更できるのでしょうか。
ご教授お願い致します。
■現象
perlによるmakefileの生成後、nmakeでエラーが発生する。
エラーメッセージ
cl /Zi /Fdossl_static.pdb /Gs0 /GF /Gy /MD /W3 /wd4090 /nologo /O2 /I "." /I "crypto\include" /I "include" /I "crypto" -D"L_ENDIAN" -D"OPENSSL_PIC" -D"OPENSSLDIR=\"C:\\Program Files\\Common Files\\SSL\"" -D"ENGINESDIR=\"C:\\openssl\\build\\win\\x64\\lib\\engines-1_1\"" -D"OPENSSL_SYS_WIN32" -D"WIN32_LEAN_AND_MEAN" -D"UNICODE" -D"_UNICODE" -D"_CRT_SECURE_NO_DEPRECATE" -D"_WINSOCK_DEPRECATED_NO_WARNINGS" -D"OPENSSL_USE_APPLINK" -D"NDEBUG" /Zs /showIncludes "crypto\cversion.c" 2>&1 > crypto\cversion.d
IF EXIST .manifest DEL /F /Q .manifest
IF EXIST libcrypto-1_1-x64.dll DEL /F /Q libcrypto-1_1-x64.dll
link /nologo /debug /dll /nologo /debug /implib:libcrypto.lib /out:libcrypto-1_1-x64.dll /def:libcrypto.def @C:\Users\XXXXXXXXX\AppData\Local\Temp\nm5483.tmp || (DEL /Q libcrypto-1_1-x64.* libcrypto.lib && EXIT 1)
crypto\cversion.obj : fatal error LNK1112: モジュールのコンピューターの種類 'x64' は対象コンピューターの種類 'x86' と競合しています。
■環境
VC2019
Perl v5.28.1
ビルド対象Ver. OpenSSL 1.1.1d
■ビルドコマンド
build.bat
set PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build;%PATH%
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsx86_amd64.bat"
rem vcvars64.batでも同様のエラーになる
perl Configure no-asm --prefix=C:/openssl/build/win/x64 VC-WIN64A
nmake install