Foro x-plane.es

Foro General => Complementos de X-Plane, aviones, escenarios, plugins... => Mensaje iniciado por: salvatore21 en 16 Febrero, 2010, 16:23:40



Título: Dev-c++
Publicado por: salvatore21 en 16 Febrero, 2010, 16:23:40
Hola. Estoy interesado en la construccion de plugins con Dev-c++ en lenguaje C. Con los tutoriales de Sandy Barbour y del SDK no consigo aclararme de como configurar este entorno para desarrollar los .dll. Intento con los ejemplos del SDK y tengo problemas al compilar (creo que defino las rutas de "includes" y "librerias" correctamente) . ¿ Alguien que use este editor sabría detallarme como configurarlo y los encabezamientos y "macros" necesarios para poder compilar algo que funcione?. (en principio me conformaria con poder compilar plugin "Hello World")(un script completo, si teneis, seria fantastico...)


Título: Re: Dev-c++
Publicado por: bokepacha en 16 Febrero, 2010, 17:46:34
Yo de esto ni idea porque ademas solo uso python, pero si aqui nadie te lo aclara y te defiendes minimamente en ingles, lo mejor es pasarse por el org y preguntarle a él en el subforo de plugins


Título: Re: Dev-c++
Publicado por: kha29096335 en 16 Febrero, 2010, 18:49:48
Hola. Estoy interesado en la construccion de plugins con Dev-c++ en lenguaje C. Con los tutoriales de Sandy Barbour y del SDK no consigo aclararme de como configurar este entorno para desarrollar los .dll. Intento con los ejemplos del SDK y tengo problemas al compilar (creo que defino las rutas de "includes" y "librerias" correctamente) . ¿ Alguien que use este editor sabría detallarme como configurarlo y los encabezamientos y "macros" necesarios para poder compilar algo que funcione?. (en principio me conformaria con poder compilar plugin "Hello World")(un script completo, si teneis, seria fantastico...)

No uso ese IDE en concreto, uso Visual Studio v 6.0, pero... ¿Te has acordado de definir las macros IBM=1 y XPLM200?

Si compilas para Windows debes poner el IBM=1, si es para linux será LIN=1 y si es para Mac APL=1; y si estás usando la API de X-Plane en su versión 2.0, entonces necesitas definir la macro XPLM200, de lo contrario solo podrás usar funciones de la API en su versión 1.0

Eso aparte de definir las librerías y los includes corréctamente, claro.

Mira, tienes todo explicado aqui:
http://www.xsquawkbox.net/xpsdk/mediawiki/BuildInstall

Recuerda que si estás haciendo un plugin del tipo FAT, de los que van en el propio directorio plugins, dentro del directorio del avión, en lugar de ponerlo en el directorio general de plugins de X-Plane, debes obligatoriamente usar la API en su versión 2.0 y, por ende, definir la macro XPLM200

Por ejemplo, esta es la típica configuración que uso para Windows + FAT plugin cuando compilo para depuración:

Definiciones del preprocesador:
WIN32,_DEBUG,_WINDOWS,_MBCS,_USRDLL,SEAMAX_EXPORTS,IBM=1,XPLM200

Includes (definición de directorios):
..\..\..\SDK\CHeaders\Widgets,..\..\..\SDK\CHeaders\Wrappers,..\..\..\SDK\CHeaders\XPLM

Y no te olvides de definir la función de Attach si estás compilando para Windows

Código:
BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
)
{
    switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
    }
    return TRUE;
}

Y algunos includes dentro de mi código:

Código:
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <XPLMPlugin.h>
#include <XPLMProcessing.h>
#include <XPLMDataAccess.h>
#include <XPLMUtilities.h>

Suerte


Título: Re: Dev-c++
Publicado por: jvaldunciel en 16 Febrero, 2010, 20:30:28
También con VC++ 2008 Express funciona perfectamente. Sólo te tienes que acordar de definir la macro XPL200 si vas a usar funcionalidad de XPLugin 2.0.


Título: Re: Dev-c++
Publicado por: Crivi en 16 Febrero, 2010, 23:16:04
Y si quieres algo multiplataforma, usa el codeblocks. Te dejo un ejemplo del que sólo haría falta compilar, así podrías guiarte un poco.

www.telefonica.net/web2/tp7/Template.rar