Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Mi gozo en un pozo

Iniciado por Manu343726, 07 de Septiembre de 2011, 03:57:50 PM

« anterior - próximo »

Manu343726

Buenas, hace mucho que no paso por aquí.

Tenía ya ganas de enseñaros el motorcillo 3d que estoy haciendo, para el cual ya tengo hecho un pequeño wrapper de dxlib32  ( si,si, wrapper de wrapper, para simplificar un poco más las cosas).
Hace poco he decidido acer una inversión y arreglar mi sobremesa, al cual he instalado Win7 x64. Y cual es mi sorpresa  cuando tras instalar todo lo instalable , el compilador de vb2008 tiene un problema con el interprete COM.

Y claro, rápidamente caigo: dx_lib32. 32... mmmm. Y ahora es cuando la pregunta estúpida de la semana: ¿ No hay algún tipo de soporte/apaño para ejecutar dxlib32 en sistemas de 64 bits?

Creo que ya se la respuesta...al menos tengo el netbook (win7 starter 32 bits)...

Manu343726

Waaaaaaahhh!!!!!!!

xq el mundo es tan cruel???

Por qué tengo que ver el mensaje de CocoMestah "Windows 7 x64 y dxlib32 funciona ok" justo cuando subo el post?????

Bueno, tras ésta metedura de pata, sigo agradeciendo respuestas.

[EX3]

#2
Cita de: VBManu en 07 de Septiembre de 2011, 04:01:59 PM
Por qué tengo que ver el mensaje de CocoMestah "Windows 7 x64 y dxlib32 funciona ok" justo cuando subo el post?????
Mira que me moleste en ponerle chincheta al post :P xD

Cita de: VBManu en 07 de Septiembre de 2011, 04:01:59 PM
Bueno, tras ésta metedura de pata, sigo agradeciendo respuestas.
Pensaba que lo habias solucionado ???

Cita de: VBManu en 07 de Septiembre de 2011, 03:57:50 PM
Y claro, rápidamente caigo: dx_lib32. 32... mmmm. Y ahora es cuando la pregunta estúpida de la semana: ¿ No hay algún tipo de soporte/apaño para ejecutar dxlib32 en sistemas de 64 bits?
Que dx_lib32 sea un binario de 32 bits no afecta en absoluto (salvo casos muy concretos), los sistemas de 64 bits pueden correr practicamente sin problemas binarios de 32 bits.

Yo estuve una temporada usando Visual Basic 6.0 y dx_lib32 bajo Windows 7 64bits sin problema, de hecho, lo que mas guerra me dio fue instalar Visual Basic 6.0 por que su instalador es de 16 bits (hay que hacer una ñapa para poder instalarlo) y dx_lib32 se instalaba sin problemas mediante el instalador que bajáis de la web.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Manu343726

Cita de: [EX3] en 07 de Septiembre de 2011, 06:57:12 PM
Pensaba que lo habias solucionado ???

Ya... esq seré muy torpe. CocoMestah lo arreglaba especificando que compilara para x86. Pero a mi solo me sale como opción any CPU.
No lo entiendo, porque si no leí mal el también usaba vb2008 express...

Hay algo que cambiar en la configuración del vs para que me permita más opciones de compilación???


[EX3]

#4
Cita de: VBManu en 09 de Septiembre de 2011, 02:03:15 PM
Ya... esq seré muy torpe. CocoMestah lo arreglaba especificando que compilara para x86. Pero a mi solo me sale como opción any CPU.
No lo entiendo, porque si no leí mal el también usaba vb2008 express...
Mmm, no me fije en ese detalle, yo usaba VB6.0, no .NET en Windows 7 64 bits, asi que no sabria decirte, pero si que deberias poder cambiar la arquitectura de destino de la misma forma que se cambia en Visual C# Express. Navega por las opciones de la solucion (no del proyecto) que deberias poder encontrar alli las opciones del target de destino al que compilas.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Hechelion

Adivino, Adivino....

Estás usando la versión Express y no te leíste el hilo completo, solo el primer post.


El problema que tienes se debe a que la versión express tiene oculta las opciones avanzadas de compilación, por eso no tienes opción x86, eso sale explicado en el mismo hilo, pero más abajo. Igual, acá te dejo un link a donde explican como dar con esas propiedades:

http://www.nichesoftware.co.nz/blog/200804/configuration-manager-visual-studio-express

Con esa opción te creas una nueva plataforma y ahí vas a tener la opción de x86.

Manu343726

Cita de: Hechelion en 10 de Septiembre de 2011, 12:31:37 AM
Adivino, Adivino....

Jajaja!!! has dado en el clavo... probaré con el link. Gracias a los dos.

Manu343726

Hola

Seguí las instrucciones, pero el IDE no me deja cambiar la CPU de destino. He activado las opciones de compilacion avanzadas y en la lista de plataformas solo sale any CPU. Alguna idea? PD: Uso vb2008 express

[EX3]

Sin tener instalado Windows en 64bits dificil tengo para poder echarte un cable me temo :-/

Mirate este hilo de los foros de MSDN donde exponen tanto la solución de Hechelion como la forma de indicarlo manualmente en el cuerpo del archivo de proyecto:
http://social.msdn.microsoft.com/Forums/en-IE/vblanguage/thread/d4fa83dc-eed1-4ead-96a1-78bbd9ba6d3a

Ya me diras si te sirve ;)

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

[EX3]

Hablando del tema, mira que dato mas interesante en una de las respuestas:
CitarTo resolve this issue

Set the platform target property to 'X86' for your VB or C# projects that have references to COM components.

For C# Projects:
1.    Right click the project in the solution explorer and open 'properties'
2.    Choose the Build tab
3.    Set the Platform Target property to 'X86'

For VB Projects:
1.    Right click the project in the solution explorer and open 'properties'
2.    Choose the Compile tab
3.    Press the Advanced Compile Options... button
4.    Set the Target CPU property to 'X86'

Express Editions:
The VB and C# Express products do not expose the Target property inside the development environment. You will need to carefully modify the project file using a text or XML editor.
1.    Close the project and/or solution
2.    Select Open File from the File menu
3.    Navigate to the project directory, and highlight the project file
4.    Press the Open button, the project file should open in the XML editor
5.    Locate the first <PropertyGroup> section and add the following line:
<PlatformTarget>x86</PlatformTarget>
1.    Save the project file
2.    Reopen the project and/or solution using Open Project/Solution from the File menu
3.    Continue with development, debugging, and testing
Ahi esta el por que no te aparece la opcion x86. Al final vas a tener que optar por el metodo manual que se refieren en una de las respuestas y que te indican aqui :)

A todo esto, VBManu, estando Visual Studio 2010 por que usar el 2008? Solo por curiosidad :P

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Hechelion

Desconozco si fue en la versión 2008 o en 2010, pero una vez que tienes acceso a esos menús, te vas a las opciones de generar, en Administración de configuración, en el menú desplegable bajo "Plataformas de solución activas" deberías tener "Nueva".

Seleccionas la opción "nueva" y te habré una ventana donde puedes seleccionar el tipo de CPU, ahí tienes la opción de x86 y la agregas, ahora que tienes agregada la plataforma x86 puedes modificar las opciones del proyecto y ahora te debería salir la opción de compilar para x86.

Manu343726

Gracias por vuestras respuestas.

Gracias por tu solución EX3, funcionó perfectamente. De hecho, ya lo he portado a dxlib32.
Sobre lo de usar vb2008, es una manía, normalmente desarrollo para .NET 3.5, por problemas de compatibilidad. Aunque ya se que vb2010 permite elegir el framework usado, he cogido la costumbre de hacer 3.5 con vb2008 y 4.0 con vb2010. Una tontería, lo se.






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.