Компиляция 64-x разрядных программ на DMD под Windows x64

Существуют проблемы совместимости с 32-x битными файлами DMD в Windows x64, так как они скомпилированы с использованием DMC фоновых программ, которые могут производить только OMF двоичные файлы. Поэтому для того, чтобы избежать проблем с подключением к внешним скомпилированным библиотекам, гораздо легче придерживаться использования 64-разрядных двоичных файлов. Это можно осуществить использованием Visual Studio компоновщика для DMD, который будет создавать совместимые COFF двоичный файлы. Еще одна проблема в том, что 32-битные DMD двоичные файлы связаны с устаревшими 32-битными библиотека WinAPI, в которых отсутствуют некоторые очень важные функции, в то время как 64-разрядные двоичные файлы должны быть связаны с 64-битными библиотеками, поставляемыми в SDK Windows. Решим эту проблему.

Для начала нужно установить Microsoft Windows SDK for Windows. Найти различные версии можно по ссылке http://www.microsoft.com/en-us/search/result.aspx?q=sdk%20windows. Скачиваем для своей версии Windows. Устанавливаем.

Директория установки Windows SDK в Windows 7 по умолчанию — C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\. Создадим системную переменную VCINSTALLDIR с данным адресом директории.

Далее нам будет предложено выбрать устанавливаемые средства разработки, нам важны только 64-x разрядные библиотеки и компилятор Visual Studio, выберем данные пункты.

Далее создадим ещё одну системную переменную DEV_DIR_WINSDK, в которой будет храниться путь к Windows SDK. В моё случае это C:\Program Files\Microsoft SDKs\Windows\v7.1\.

Теперь необходимо отредактировать файл конфигурации компилятора DMD, он находится по пути dmd2\windows\bin\sc.ini. Файл разбит на разделы, которые отмечены квадратными скобками, на потребуется изменить данные в разделе Environment64:

  1. Изменим значение параметра LINKCMD на %VCINSTALLDIR%\bin\amd64\link.exe
  2. Раскомментируем строку WindowsSdkDir= и приравняем к %DEV_DIR_WINSDK%
  3. Далее необходимо закомментировать (символ «;») строки с параметром LIB, в которых прописаны пути к Wimdows SDK не для вашей платформы.

На этом настройка завершена, попробуем скомпилировать проект (запись блога ), открываем командную строку, пишем:

rdmd -m64 C:\D\projects\test\hello.d

Если всё прошло удачно, будет выведено «Hello, World!». Поздравляю, теперь вы можете компилировать 64-х разрядные приложения на D для Windows.

Основная информация взята с http://wiki.dlang.org/Installing_DMD_on_64-bit_Windows_7_%28COFF-compatible%29

Написать ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *