He estado jugando con D durante unos días y me estaba emocionando bastante hasta que, es decir, intenté hacer funcionar gtkd. Ahora perdí la mayor parte de 3 días tratando de obtener una configuración de trabajo y estoy empezando a obtener (leer, hace mucho tiempo lo conseguí) un poco desmoralizado. Me preguntaba si alguien puede ayudarme antes de rendirme. Mucha de la información que puedo encontrar en línea está desactualizada, así que no estoy seguro si estoy en lo cierto al pensar que esto es posible.Configuración de una cadena de herramientas D2.x de trabajo (con gtkd) en Ubuntu 10.04
El resto de este se trata sólo de lo que he probado hasta ahora y puede que no tenga que leerlo si usted tiene una solución rápida, por lo que no dude en saltar a ... [Saltar a aquí]
Así que, en primer lugar, necesito saber, el tango está realmente disponible para su uso con D2.0, creo que no fue originalmente, pero ahora D2.x es tal que puedes usar tango y phobos uno junto al otro. Si esto no es cierto, entonces creo que he caído en el primer obstáculo y este no es un ganador.
Los pasos que he dado hasta ahora.
- He instalado GDC desde los repositorios de Ubuntu
- he instalado libtango cabeceras de los repositorios (nota, sólo los encabezados, no hay librerías disponibles, así que no es de mucha ayuda)
- He instalado manualmente DSSS
Esta configuración compilaría D, pero cuando llegué a la instalación de gtkd (con dsss), se compiló pero obtuve todo tipo de errores (relacionados con el tango) al intentar compilar cualquier cosa que lo utilizara. Bueno, como he mencionado, no tenía las librerías así que esto no debería haber sido inesperado. Traté de instalar las tango libs manualmente pero todavía recibí un montón de errores y al final recurrí a un dsss net install tango
que me advirtió que no sería capaz de volver a phobos (algo que me confundió ya que, como he mencionado, pensé que dos se podrían usar uno al lado del otro) de todos modos, procedí y atornilló completamente mi configuración. No pude compilar ninguna D ahora.
Lo siento, no podría ser más explícito acerca de los errores que obtuve en la última sección, la verdad es que no recuerdo.
De todos modos, eliminé todo lo que tenía instalado. Y comenzó de nuevo.
- He instalado GDC de repos
- He instalado manualmente DSSS
ahora leo que el último tango no funciona con GDC (no estoy seguro si esto es cierto), así que
- Obtuve el deb para dmd y lo instalé.
- Se instaló manualmente el tango probado (libs y encabezados).
- gtkd Instalado con DSSS
Ahora no puedo conseguir DSSS para reconocer DMD, por lo que sólo se puede utilizar GDC con él. Eso sin embargo no encuentra tango. Si utilizo dmd directamente, encuentra tango y gtkd, pero recibo errores sobre las declaraciones volatile
que están en desuso. Algo que es aparentemente cierto en D2.x, lo que me lleva de vuelta a "es tango incluso compatible".
Gosh ¡Estoy confundido!
[Ir al aquí]
Si alguien me puede dar instrucciones paso a paso sobre cómo conseguir una configuración de trabajo establecido, estaría siempre agradecido!
Gracias, T.
Actualización:"! Estamos ahí"
lo que he descargado desde dmd.2.049.zip http://www.digitalmars.com/d/download.html y se extrajo a mi directorio personal y realizó un export PATH = $PATH:~/dmd2/linux/bin
(gracias a dsimcha).
Se olvidó de dsss
. Obtuve la versión svn de gtkd según las instrucciones en http://www.dsource.org/projects/gtkd/wiki/UsingSubversion. Editado GNUmakefile
para cambiar el prefijo a /home/me/dmd2/linux
e hizo un make install
.
Editado por lo que el ~/dmd2/linux/bin/dmd.conf
incluyen caminos incluidos ../include
(las librerías gtkD se ponen en ../lib
, así que no necesito editado las rutas de bibliotecas).
Ahora, finalmente, para compilar con gtkD tuve que vincular con libgtkd y libdl, esto fue hecho por, dmd mydprog.d -L-lgtkd -L-ldl
(gracias a jpf).
Gracias eso despeja mucho. Me siento mejor ahora :). Sin embargo, cualquier idea de cómo funciona gtkd. Tengo 'dsss' compilando solo con Phobos ahora y la configuración' dmd' como sugirió. Intenté instalarlo (gtkd) en 'prefix = ~/dmd2/linux /' y edité 'dmd.conf' para cambiar los directorios de inclusión, pero no tuve suerte. – tjm
Ok un poco de suerte, he puesto una edición en mi publicación para explicar la situación actual; ahora recibo errores de enlazador. – tjm