Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Sdl Y Visual C++

Iniciado por Lucas333, 05 de Agosto de 2004, 12:00:22 AM

« anterior - próximo »

Lucas333

 Hola estoy intentando utilizar visual c++ 6.0 y la libreria sdl....todo va bien hasta q linko (añado en proyectos en setting en link pues sdl.lib,sdlmain.lib) ...compilo y no hay problemas pero cuando le doy a linkar...me da este error :

"Linking...
LINK : warning LNK4098: defaultlib "LIBCD" conflicts with use of other libs; use /NODEFAULTLIB:library
sdlmain.lib(SDL_main.obj) : error LNK2001: unresolved external symbol _SDL_main
Debug/juego.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe."

Alguien sabe como puedo resolverlo? es q no puedo hacer nada :(((


Zaelsius

 No he usado nunca SDL pero:

- El warning se puede arreglar, repasa las opciones del proyecto.
- El error suena a que has creado un proyecto Win32 del tipo equivocado al que la libreria esperaba. Me explico, quizá el proyecto que intentas compilar está pensado para proyectos tipo Win32 Application ó bien para Win32 Console Application.. prueba a compilar con el tipo de proyecto opuesto.

Supongo que funciona de forma parecida a Allegro, que sustituye los main o WinMain por sus rutinas main propias.. de ahi podria venir el problema.

Tambien es probable que te hayas saltado algun paso de la FAQ correspondiente..

En fin my two cents y que hable alguien que use SDL  :rolleyes:  

javiel

 en mi web, tengo un documento de como empezar con SDL y viene como compilar un programa en SDL con Visual C++ y Linux. Puede que te falta algún paso por hacer. También puede ser lo que dice ZaelSiuS, es un error muy común

http://javielinux.webcindario.com/documentacion.php


saludos
uper-Tirititran: el superhéroe gaditano (http://www.super-tirititran.com)

vicho

 sin ser pesao pero creo que es la cuatrosientos cuarenta y ocho mil cuatrosientos cuarentayocho millon de vez que se discute este tema :P

lee la documentacion que trae el zip del archivo de SDL para visual C
ahi sale un VC howto

sale bien explicada, en ingles eso si, pero sino quieres aprenderlo no es culpa mia ;)

suerte

gdl

 ¡¡¡¡Lucas333!!!!!

Yo tuve exactamente el mismo problema con el warning, si tenemos la fortuna que la causa sea la misma, se soluciona de la siguiente manera:

Te vas a propiedades del proyecto, a "Code Generation", y ahí viene una opcion con el tipo de runtime a usar. Que si "Single Threaded", "Multi Threaded" o "Multi Threaded Debut".

Hagas lo que hagas, cuando "linkees", TODOS los módulos (incluída la biblioteca SDL) han de tener el mismo runtime.

Como yo no sabía cuál era el runtime que tenía el SDL por defecto (y sigo sin saberlo), recompilé el SDL desde los fuentes. La ventaja que tiene esto es que puedes hacerte una versión "Debug" y otra "Release".


El error parece que se debe a que no incluiste el "SDLmain.h" que redefine el símbolo "main" a "SDL_main", aunque aquí estoy hablando sin conocimiento de causa y es muy probable que diga una tontería.

soulnet

 Cómo tienes el main?

Debería ser int main(int argc, char **argv)

Sé que parece una tontería, pero un compañero puso void main(void) y le ocurría eso. Cambió al "estandar"  y compiló perfectamente.


Un saludo...

Lucas333

 Hola gracias a todos...si era la funcion main q como el codigo lo hice en el block de notas en un descanso del curro pues al copiar no copie el main y claro  por eso me fallaba :D


vicho


Lucas333

 por cierto vicho de q zip me hablas?es q no he visto nada de sdl en visual como me dices...de donde lo puedo conseguir?






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.