Я пытаюсь собрать pe-parse библиотеку для некоторых вещей. У меня на рабочем столе установлены Visual Studio 2019 и cmake. pe-parse library git говорит, что нужно скомпилировать библиотеку с помощью команды ниже.
# Compile 64-bit binaries with Visual Studio 2017
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_BUILD_TYPE=Release ..
# Compile 32-bit binaries with Visual Studio 2017
cmake -G "Visual Studio 15 2017" -DCMAKE_BUILD_TYPE=Release ..
У меня только Visual Studio 2019, поэтому я скомпилировал с cmake -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release ..
. Но библиотека скомпилирована для 64-битных компьютеров, поэтому, если я пытаюсь использовать ее в x86, она показывает, что библиотека для x64, и выдает сообщение об ошибке ниже.
1>main.obj : error LNK2019: unresolved external symbol "struct peparse::_parsed_pe * __cdecl peparse::ParsePEFromFile(char const *)" (?ParsePEFromFile@peparse@@YAPAU_parsed_pe@1@PBD@Z) referenced in function _main
1>lib\pe-parser-library.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'x86'
1>C:\Workspace\Windows\CPP\MalwareAnalysis\Debug\MalwareAnalysis.exe : fatal error LNK1120: 1 unresolved externals
Я установил MSV C v141 - VS2107 C ++ x64 / x86 build tools (v14.16), но cmake -G "Visual Studio 15 2017" -DCMAKE_BUILD_TYPE=Release ..
показывает мне ошибку ниже.
CMake Error at CMakeLists.txt:2 (project):
Generator
Visual Studio 15 2017
could not find any instance of Visual Studio.
Нужно ли устанавливать Visual Studio 2017 для сборки библиотеки для системы x86?