Vale muchas gracias, no habia visto esa seccion de la pagina.<br><br>Ya he solucionado lo que pasaba, por si le pasa a alguien lo escribo:<br><br>Compilar la libreria oscpack en devc++:<br>- Crear un nuevo proyecto en devc++ [lenguaje: c++, tipo: libreria, nombre: liboscpack]<br>
- Anyadir al proyecto todos los ficheros de cabecera y todos los fuentes que estan en las carpetas ( no incluir subcarpetas ) "ip" y "osc".<br>- Si tu proyecto va a correr en windows: anyadir tambien los fuentes de la carpeta ./ip/win32<br>
- Si va a correr en linux (no he probado pero supongo que sera asi) anyadir los fuentes de la carpeta ./ip/posix<br>- Compilar:<br>- Se generara un archivo liboscpack.a<br><br>Utilizar la libreria oscpack en un proyecto en devc++:<br>
- Crear nuevo proyecto en devc++<br>- Proyecto->Opciones de proyecto-> Parametros->Anyadir biblioteca u Objeto:<br>- Anyadir alli: liboscpack.a, .../Dev-Cpp/lib/libws2_32.a, .../Dev-Cpp/lib/libwinmm.a<br>- Escribir en el codigo #includes a los headers que necesitemos en el proyecto: (Normalmente OscReceivedElements.h, OscPacketListener.h, UdpSocket.h, OscOutboundPacketStream.h)<br>
- Ahora este proyecto conoce todas las funciones de la libreria:<br><br>Dejo aqui tambien el diagrama de clases y de despliegue por si alguien los necesita:<br>Clases(pdf): <a href="http://www.megaupload.com/?d=55DIVAY0">http://www.megaupload.com/?d=55DIVAY0</a><br>
Clases(uml): <a href="http://www.megaupload.com/?d=S27SOMKP">http://www.megaupload.com/?d=S27SOMKP</a><br>Despliegue: <a href="http://www.megaupload.com/?d=RND9RN9G">http://www.megaupload.com/?d=RND9RN9G</a><br><br>Y el enlace a la pagina de oscpack:<br>
<a href="http://www.audiomulch.com/~rossb/code/oscpack/">http://www.audiomulch.com/~rossb/code/oscpack/</a><br><br>Si alguien sabe/quiere donde ponerlo para que la gente que busque lo encuentre teneis completo permiso de cambiar y tocar lo que querais.<br>
<br><div class="gmail_quote">2009/3/12 Steven Davidson <span dir="ltr"><<a href="mailto:srd4121@njit.edu">srd4121@njit.edu</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hola Vicente,<div><div></div><div class="h5"><br>
<br>
vicente lozano wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hola,<br>
<br>
Tengo un problema, llevo toda la vida haciendo aplicaciones pequenyas<br>
en las que yo hacia todo el codigo y no tenia que linkar con otros<br>
codigos ni nada.<br>
<br>
En este momento necesito usar unas clases de otra persona y tengo el codigo y todo y lo entiendo pero no consigo que compile porque me da errores el linker en Dev-C++.<br>
<br>
Vamos, que no tengo ni idea de como hacer un proyecto de este tipo y necesito aprender pero no encuentro nada que me sirva.<br>
<br>
Tengo hechos los diagramas de clases del codigo que tengo que linkar<br>
y el diagrama estatico de despliegue.<br>
<br>
Son unas clases muy sencillas para manipular OSC (Open Sound Control) que basicamente es una abstraccion sobre sockets para mandarse datos entre aplicaciones.<br>
<br>
Agradeceria que alguien pudiera explicarme un poco como va esto<br>
estaria muy agradecido, si lo necesitais no tengo ningun problema en<br>
mandar un rar/zip con los diagramas (StarUML) y los ficheros fuente.<br>
<br>
Se que esta fuera del objetivo de esta lista pero no se donde<br>
aprender esto o donde preguntarlo porque estoy haciendo el proyecto<br>
en un sitio donde mi director no es informatico y no sabe programar y<br>
no estoy en el pais donde curso los estudios asi que tampoco puedo<br>
acudir al tutor de la universidad.<br>
<br>
</blockquote>
<br></div></div>
Bien. Normalmente, al obtener una biblioteca, tendrás dos clases de ficheros: de cabecera ".h" y las bibliotecas propiamente dichas, ".a" o ".lib". En Dev-C++, usamos el compilador Mingw que se basa en el compilador de GNU. Mingw usa bibliotecas con la extensión ".a". Básicamente, ".h" sirve para declarar y definir entidades para que el compilador de C/C++ sepa lo que se trae entre manos, mientras que las bibliotecas sirven para el enlazador, las cuales contienen las implementaciones de las funciones. Esto implica que el compilador desconoce las implementaciones de las funciones de tal biblioteca, pero sí debe saber sus prototipos, que deberían estar en el fichero de cabecera.<br>

<br>
En un proyecto de Dev-C++, haz lo siguiente:<br>
<br>
1. Accede a las propiedades del proyecto con ALT+P o a través del menú: Proyecto->Opciones del Proyecto".<br>
2. Elige la pestaña "Parámetros...".<br>
3. En el apartado "Linker", escribe o busca las bibliotecas que quieres que este proyecto use.<br>
4. Presiona "Aceptar".<br>
<br>
Sugiero consultar el artículo acerca de crear y usar bibliotecas en Dev-C++ en nuestra página. Puedes ir directamente al apartado: "Usar una librería en nuestros programas"; está en la segunda mitad de la página. El enlace es: <a href="http://c.conclase.net/devcpp.php?art=libestatica" target="_blank">http://c.conclase.net/devcpp.php?art=libestatica</a><br>

<br>
<br>
Para completar este tema, diré que en MS-Windows, típicamente tenemos tres ficheros para bibliotecas externas cuando estamos desarrollando nuestras aplicaciones. El tercer fichero es la biblioteca dinámicamente enlazada o DLL. En este caso, el fichero ".a" o ".lib" contiene referencias a la DLL, la cual contiene las implementaciones de las funciones. El enlazador comprenderá que esta biblioteca ".a" es tratada de diferente manera, pero sin necesitar el fichero ".dll" para hacer su trabajo. Sí necesitaremos la ".dll" al ejecutar el programa. Con tal de que las DLL's que nuestro programa necesites estén en el mismo directorio que nuestra aplicación, no tendremos mayores problemas. Si no, entonces copia las ".dll" a "C:\Windows\System32" para que estén disponibles para todas las aplicaciones y para que MS-Windows pueda encontrarlas.<br>

<br>
<br>
Espero que esto te ayude.<br>
<br>
Steven<br>
<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote></div><br>