问题描述
尝试编译 amazon-kinesis-video-streams-producer-sdk-cpp-repo 时出现错误
crypto\uplink-x86_64.obj : Fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86'
。
我不明白。我在线检查了解决方案,但我没有任何 VS 项目。我运行所有这些命令只是为了编译 OpenSSL 库。我尝试在 this 问题中指定的 x86 Native Tools Command Prompt 上运行。还是一样的错误。
我使用的是 Windows 10 和 Visual Studio 2017。
以下是我遵循的步骤:
1:克隆 repo。已安装 cmake
和 pkg-config
。
2:我建立了目录并导航到它:
mkdir -p amazon-kinesis-video-streams-producer-sdk-cpp/build
cd amazon-kinesis-video-streams-producer-sdk-cpp
3:在 VS 2017 的开发人员命令提示符中运行以下命令:
cmake -G "MinGW Makefiles"
这是我得到的错误:
crypto\uplink-x86_64.obj : Fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86'
Could Not Find C:\Users\amay\amazon-kinesis-video-streams-producer-sdk-cpp\open-source\local\libopenssl\build\src\project_libopenssl\libcrypto-1_1-x64.*
NMAKE : Fatal error U1077: 'link' : return code '0x1'
Stop.
NMAKE : Fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86\nmake.exe"' : return code '0x2'
Stop.
mingw32-make.exe[2]: *** [CMakeFiles\project_libopenssl.dir\build.make:130: build/src/project_libopenssl-stamp/project_libopenssl-build] Error 2
mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:94: CMakeFiles/project_libopenssl.dir/all] Error 2
mingw32-make.exe: *** [Makefile:102: all] Error 2
CMake Error at dependency/libkvscproducer/kvscproducer-src/CMake/Utilities.cmake:93 (message):
CMake step for libopenssl Failed: 2
Call Stack (most recent call first):
dependency/libkvscproducer/kvscproducer-src/CMakeLists.txt:66 (build_dependency)
-- Configuring incomplete,errors occurred!
See also "C:/Users/amay/amazon-kinesis-video-streams-producer-sdk-cpp/CMakeFiles/CMakeOutput.log".
非常感谢您的帮助!
解决方法
尝试使用 x64 Native Tools Command Prompt 运行并成功。