Настройка рабочего набора инструментов D2.x (с gtkd) в Ubuntu 10.04

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

В остальном это примерно то, что я пробовал до сих пор, и вам может не понадобиться читать его, если у вас есть быстрое решение, так что не стесняйтесь переходить к... [Перейти к здесь]

Итак, во-первых, мне нужно знать, действительно ли танго доступно для использования с D2.0, я считаю, что оно изначально не было, но теперь D2.x таков, что вы можете использовать танго и фобо рядом друг с другом. Если это не так, то я думаю, что я упал на первое препятствие, и это не стартер.

Шаги, которые я сделал до сих пор.

  1. Я установил GDC из репозиториев Ubuntu
  2. Я установил libtango-headers из репозитория (заметьте, только заголовки, нет доступных библиотек, так что это не сильно поможет)
  3. Я вручную установил dsss

Эта установка скомпилировала бы D, но когда я пришел к установке gtkd (с dsss), он скомпилировался, но я получил всевозможные ошибки (связанные с танго) при попытке скомпилировать что-нибудь, используя его. Ну, как я уже говорил, у меня не было libs, так что это не должно было быть неожиданным. Я попытался установить библиотеки танго вручную, но все равно получил массу ошибок и в конце концов прибегнул к dsss net install tango который предупредил меня, что я не смогу вернуться к Фобосу (что меня смутило, так как, как я уже говорил, я думал, что эти два можно использовать вместе), я продолжил, и это полностью испортило мои настройки. Я не мог собрать D сейчас.

Извините, я не могу более точно сказать, какие ошибки я получил в этом последнем разделе, честно говоря, я не помню.

Во всяком случае, я удалил все, что я установил. И началось заново.

  1. Я установил gdc из репозитория
  2. Я установил dsss вручную

Теперь я прочитал, что последнее танго не работает с GDC (не уверен, если это правда), поэтому я

  1. Получил deb для dmd и установил это.
  2. Устанавливал последнее танго (libs и headers) вручную.
  3. Установил gtkd с помощью dsss

Теперь я не могу заставить dsss распознавать dmd, поэтому могу использовать только gdc. Это, однако, не находит танго. Если я использую DMD напрямую, он находит танго и GTKD, но я получаю ошибки о volatile заявления не рекомендуется. Что-то, что, очевидно, верно в D2.x, что возвращает меня к "танго даже поддерживается".

Черт возьми, я запутался!

[Перейти к здесь]

Если кто-нибудь может дать мне пошаговые инструкции о том, как настроить рабочую настройку, я был бы всегда благодарен!

Спасибо, Т.

Обновление: "Мы там!"

Поэтому я скачал dmd.2.049.zip с http://www.digitalmars.com/d/download.html распаковал его в свой домашний каталог и сделал export PATH = $PATH:~/dmd2/linux/bin (спасибо дсимче).

Забыли о dsss, Получил svn-версию gtkd в соответствии с инструкциями на http://www.dsource.org/projects/gtkd/wiki/UsingSubversion. отредактированный GNUmakefile изменить префикс на /home/me/dmd2/linux и сделал make install,

отредактированный ~/dmd2/linux/bin/dmd.conf поэтому включенные пути включены ../include (библиотеки gtkD вставлены в ../lib поэтому мне не нужно редактировать пути к библиотекам).

Теперь, наконец, чтобы скомпилировать с gtkD, мне нужно было связать libgtkd и libdl, это было сделано, dmd mydprog.d -L-lgtkd -L-ldl(спасибо jpf).

2 ответа

Решение
  1. Танго не работает с D2. Давным-давно были предприняты некоторые усилия для его переноса, но этот вид врезался в стену, и неясно, будет ли это когда-либо фактически закончено. OTOH Phobos для D2 намного лучше, чем Phobos для D1, поэтому отсутствие танго не так плохо, как кажется.

  2. GDC поддерживает древнюю версию D2. Нет абсолютно никаких шансов компилировать gtkD. Вы должны использовать ссылочный DMD-компилятор.

  3. Как правило, правильный способ настроить DMD в Linux - просто распаковать dmd.2.0xx.zip в свой домашний каталог и выполнить export PATH = $PATH:~/dmd2/linux/bin чтобы убедиться, что исполняемый файл DMD находится на вашем пути. Тогда все должно работать (с DMD2 и Фобосом).

Если вы хотите, чтобы dmd передавал аргументы компоновщику, вы должны поставить перед ним префикс -L. Я думаю, что для gtkd вам нужно связаться с библиотекой gtkd и libdl.

-L-lgtkd -L-ldl
Другие вопросы по тегам