Как собрать MiKTeX на Windows?

Как собрать MiKTeX на Windows?

Я хочу построить MiKTeX (в частности pdflatex) для решенияэтотпроблема конфиденциальности с pdflatex путем примененияэтотизменять.

Я последовал заэтоткак.

На новой установке Windows 7 SP1 (32-разрядной) я установил:

  • CMake (cmake-2.8.12.2-win32-x86.exe)
  • Visual Studio C++ 2008 с пакетом обновления 1 (SP1) (VS2008ExpressWithSP1ENUX1504728.iso)
  • Cygwin (по умолчанию с bison, flex и diffutil)
  • ActivePerl (ActivePerl-5.20.1.2000-MSWin32-x86-64int-298557.msi)
  • libxslt (libxslt-1.1.26.win32.zip)
  • MiKTeX basic с функцией «установки отсутствующих пакетов на лету» (basic-miktex-2.9.5105.exe)
  • HTML Help Workshop
  • Windows SDK для Windows Server 2008 (6.0.6001.18000.367-KRMSDK_EN.iso)
    • с выбранными только заголовочными файлами и библиотеками Windows и средствами разработки Windows
  • ImageMagick (ImageMagick-6.9.0-0-Q16-x86-dll.exe)

К Windows PATHя добавил:

;C:\cygwin\bin;C:\libxslt-1.1.26.win32\bin;C:\Program Files\HTML Help Workshop

Я извлек исходный код MiKTeX (miktex-2.9.4106.tar.bz2) вC:\miktex

В C:\miktex\CMakeLists.txtя установилNO_GUI = TRUE

Я запустил командную строку Visual Studio 2008 и ввел следующее:

cd \miktex
cmake -G "NMake Makefiles"
nmake

Строительство остановлено по следующим причинам:

[ 15%] Building C object Libraries/3rd/obsdcompat/CMakeFiles/MiKTeX209-obsdcompat.dir/bsd-asprintf.c.obj
bsd-asprintf.c
c:\miktex\libraries\3rd\obsdcompat\defines.h(91) : error C2061: syntax error : identifier 'u_int8_t'
c:\miktex\libraries\3rd\obsdcompat\defines.h(91) : error C2059: syntax error : ';'
c:\miktex\libraries\3rd\obsdcompat\defines.h(92) : error C2061: syntax error : identifier 'u_int16_t'
c:\miktex\libraries\3rd\obsdcompat\defines.h(92) : error C2059: syntax error : ';'
c:\miktex\libraries\3rd\obsdcompat\defines.h(93) : error C2061: syntax error : identifier 'u_int32_t'
c:\miktex\libraries\3rd\obsdcompat\defines.h(93) : error C2059: syntax error : ';'
NMAKE : fatal error U1077: 'C:\PROGRA~1\MICROS~1.0\VC\bin\cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.

Мне удалось обойти эту и последующие ошибки, но после каждого обходного пути сборка снова останавливалась с новыми ошибками, не связанными с обходными путями. В конце концов я перестал подозревать, что что-то не так с моей средой сборки или с тем, как я ее использовал (отсюда и подробности), но я понятия не имею, в чем проблема.

решение1

Не выполняйте сборку в исходном каталоге.

Исторические:

Внесение исправлений pdftex.webи , pdftoepdf.ccесли Programs\TeXAndFriends\pdftexэто необходимо (например, поиск в этих файлах .Fullbannerи .FileNameсоответственно) перед сборкой приведет к созданию двоичных файлов MiKTeX pdftex, которые не добавляют метаданные/свойства PDF, не указанные явно.

Связанный контент