Компиляция Microsoft Detours для 64-битных - PullRequest
0 голосов
/ 23 июня 2018

Пакет detours утверждает, что поддерживает 64-bit, но я не вижу способа компилировать 64-bit двоичные файлы:

Отключение 32-битных и 64-битных процессов

Использование nmake all только компиляции 32-bit материал:

>dir
 Volume in drive D is Volume
 Volume Serial Number is XXXX-XXXX

 Directory of D:\Detours

06/21/2018  03:46 PM    <DIR>          .
06/21/2018  03:46 PM    <DIR>          ..
06/23/2018  08:13 PM    <DIR>          bin.X86
06/20/2017  09:03 AM             5,105 CREDITS.TXT
06/22/2017  03:06 PM                31 Detours Version 3.0 Build_343
10/19/2016  12:06 PM           113,685 Detours.chm
06/23/2018  08:12 PM    <DIR>          include
06/23/2018  08:12 PM    <DIR>          lib.X86
10/29/2015  02:19 PM             7,144 LICENSE.RTF
12/21/2016  01:22 PM             1,851 Makefile
06/22/2017  03:06 PM            14,961 README.TXT
06/21/2018  03:04 PM    <DIR>          samples
06/23/2018  08:12 PM    <DIR>          src
10/29/2015  02:19 PM             4,841 system.mak
06/22/2017  03:06 PM                31 VERSION.TXT

Команда nmake size64 недействительна.

Если я использую библиотеку (папка lib.X86) в моем проекте Visual Studio C++, который настроен на создание 64-bit DLL, я получаю соответствующую ошибку, и она не будет собираться:

library machine type 'x86' conflicts with target machine type 'x64'

Переименование папки lib.X86 в lib.X64 также не работает.

Как мне заставить его работать в среде 64-bit или это невозможно?

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

В командной строке вы можете сказать

set DETOURS_TARGET_PROCESSOR=X64

и затем выполнить команду nmake.

0 голосов
/ 13 июля 2018

Похоже, вам нужно установить целевой процессор на 64-битный, а затем скомпилировать .Рабочий пакетный сценарий (.bat) может выглядеть примерно так (в зависимости от установки Visual Studio):

SET DETOURS_TARGET_PROCESSOR=X64
CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
NMAKE

При этом двоичные файлы 64-bit должны успешно компилироваться.

...