Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Proyectos En Managed C++

Iniciado por Haddd, 11 de Septiembre de 2004, 03:37:24 PM

« anterior - próximo »

Haddd

 Bien, quiero tener una solución con 2 proyectos. Uno que sea las clases del motor(para ello he creado el proyecto como biblioteca de clases en .NET) y otro un ejemplo usando el motor(un proyecto vacio en .NET).

He creado la solución y he creado el proyecto de clases. Luego he creado el otro proyecto dentro de la solución  y he agregado la referencia del proyecto de clases. Hasta aquí todo genial.

Aquí está el código de la clase:


namespace Haddd
{
public __gc class Video
{
public:
 Video();
};
}


Y aquí el del proyecto en blanco:


using namespace Haddd;

int main()
{
Video *v=new Video();
}


Bien, pues me da un error al compilar el proyecto:

Citard:\Haddd\Managed\Ejemplo\Ejemplo.cpp(5): error C3624: 'System::Object': el compilador no puede encontrar este tipo; está definido en assembly 'mscorlib'

y se refiere a la línea:

Video *v=new Video();

¿Porqué me da este error?

BeRSeRKeR

 Según las MSDN, poniendo

#using

te solucionará el problema.

PD: en realidad eso lo pone como ejemplo pero por probar... :)
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Grugnorr

 Mi consejo, y el de cualquiero con 2 dedos de frente ;), es que minimices lo que puedas el código en Managed C++, sirve sobre todo como "pegamento" entre código C++ y código manejado.


Sobre tu problema.... en .NET todas las clases derivan de Object. Parece que te falta la referencia al Assembly(dll) donde está definido Object: mscorlib.dll . Me extraña mucho que no tengas añadida la referencia por defecto.

Acabo de probar a hacer lo mismo que tú en el VS2003 y funciona perfectamente, veo que me ha añadido referencia a System.dll también, mira a ver si lo tienes, es la primera vez que toco managed c++  :P

Crear wrappers de motores o subsistemas hechos en c++ para usarlos desde .NET empieza a ser algo muy común, sigo pensando que veremos juegos en 3 capas: subsistemas en C++, juego en C# y script en python.net o lua.net.... (en PC, claro...o XBOX2 ;))
hat the hells!

Grugnorr

 Parece que bersi se me coló  :P  
hat the hells!

Haddd

 Exacto, era la referencia. Gracias por el link.







Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.