aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: minihowto compilar amule en windows (incompleto)  (Read 3679 times)

antenon

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 9
minihowto compilar amule en windows (incompleto)
« on: February 22, 2005, 05:54:25 PM »

Hace un tiempo me puse a intentar compilar el amule sobre windows. Al final desisti, sin embargo lo que iba consiguiendo poco a poco pasaba los pasos que hacia a un documento, quisiera compartir con todos vosotros esto, por si algun día el equipo de desarrollo dicide que se soporte windows y les sirve de ayuda. (Se que algunos desarrolladores son españoles, por lo que no tendran problemas con el idioma). La version sobre la que compilaba era aMule-cvs-20050210


saludos









1)FindFirstFile y FindNextFile -> hay una macro en el fichero winbase.h que convierte FindFisrtFile a FindFirstFileA, y luego en la implementacion se confunde. Solución: cambiar los nombres de los métdodos: FindFirstFile por FindTheFirstFile. Se realiza una bussqueda por todo el proyecto y se cambia (son pocos ficheros).

2)caso parecido con una macro vacia definida en el fichero winbase.h La macro se llama Yield. No tiene sentido tal macro. Se modifica a mano el fichero de interfaz winbase.h para eliminar esa macro (se comenta) //#define Yield()

3) Seguimos compilando: en algunos ficheros no encuentra wxLC_OWNERDRAW. Lo que hacemos en este caso es incluir a mano el fichero "listbase.h"

4)
SearchListCtrl.cpp
In file included from src\SearchListCtrl.h:31,
from src\SearchListCtrl.cpp:26:

El fichero de cabecer del SearchListCtrl inclye otro llamado "MuleListCtrl.h" que da un error de sintaxis.

MuleListCtrl.h define la interfaz de la clase CMuleListCtrl que extiende en el caso de windows, de la clase wxListCtrl:

#include
class CMuleListCtrl : public wxListCtrl

El simbolo que no reconoce es wxListCtrl. Se supone que wx/listctrl.h tiene la clase wxListCtrl definida, pero algo pasa que no la pilla.
Sin embargo la clase MuleListCtrl.cpp que tambien incluye su propia interfaz, y compila perfectamente.

El fallo esta en que dentro del wx/listctrl.h esta esto:
#if wxUSE_LISTCTRL
lo que significa que si no esta definido wxUSE_LISTCTRL, no sigue, y por tanto no encuentra la clase wxListCtrl. Lo defino en las propiedades del proyecto.

al compilar, resulta que el wx/listctrl.h incluye otro fichero que es el wx/listbase.h. Este fichero tiene otras dependencias que no estan resueltas. Las dependencias son:
"wxCALLBACK" y "wxColour" para lo cual, en el fichero MuleListCtrl.h lo dejo asi:

 */
#include "wx/defs.h"
#include "wx/colour.h"
#include "wx/font.h"
#include "wx/msw/pen.h"
#include "wx/event.h"

#ifdef __WXMSW__
   #include
   class CMuleListCtrl : public wxListCtrl
#else


al seguir compilando, hay otra dependencia en el SearchListCtrl.cpp, la misma que en el paso 3, lo soluciono igual


--------

HTTPDownload.cpp. Existe un conflicto con una macro definida en el fichero winuser.h hay que comentar la linea
Tambien habria otro conflicto con otra macro que se llama igual en windows.h, pero para esto ya existe un include del winundef.h que lo remedia. Para esto otro no he encontrado remedio.
//#define FindWindow FindWindowA



recordamos las librerias que venian puestas, y las que he puesto yo
curl,z,ws2_32,wx_msw_adv-2.5, wx_msw_core-2.5, wx_msw_html-2.5, wx_base-2.5, wx_base_net-2.5, wx_base_xml-2.5, wxexpat, wxregex, wxpng, wxjpeg, wxzlib, wxtiff, stdc++, gcc, odbc32, wsock32, winspool, winmm, shell32, comctl32, ctl3d32, odbc32, advapi32, odbc32, wsock32, opengl32, glu32, ole32, oleaut32, uuid

curl,z,ws2_32,wx_msw_adv, wx_msw_core, wx_msw_html, wx_base, wx_base_net, wx_base_xml, wxexpat, wxregex, wxpng, wxjpeg, wxzlib, wxtiff, stdc++, gcc, odbc32, wsock32, winspool, winmm, shell32, comctl32, ctl3d32, odbc32, advapi32, odbc32, wsock32, opengl32, glu32, ole32, oleaut32, uuid
Logged

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: minihowto compilar amule en windows (incompleto)
« Reply #1 on: February 22, 2005, 07:04:56 PM »

Si has awadido archivos y librerias al proyecto que viene en el tarball, porque no me lo pasas y lo cambiamos alli?
Logged