Utilizator:
Parola:
Am uitat parola... | Cont nou!


Articole Resurse Echipe Competiții Proiecte Forum DevBlogs Locuri de muncă GDROMag Issue#1 GDROCon 2007

 
Forum » Programare » Grafică » GLFW nu reuseste initializarea




Pagina 1 din 1 [ 1 ]

Mesaj Info autor
    Postat la 14 Jul 2008 22:05:42    Subiect: GLFW nu reuseste initializarea
Deliverance info:

Deliverance:

    Fiind interesat de programarea grafica pe windows/linux/mac os x m-am gandit sa incerc o librarie mai noua decat glut care sa ofere functionalitati asemenea lui glut si totodata functii pentru incarcare imagini in memorie si multi threading. Doar ca am o problema. Am compilat libraria glfw in Microsoft Visual Studio Express (MSdev 2008, 9.0) si am scris un mic programel de test. Compileaza insa apelul glfwInit() returneaza false. Am intrat in debug si am vazut ca linia care esueaza este:
    if( _glfwLibrary.Libs.gdi32 != NULL )
Aici intra pe ramura else a if-ului care returneaza false... Am windows pe 32 de biti si GDI32.dll exista in windows/system32...

Ce e de facut?


Status:
Înregistrat pe:
13 Oct 2006 10:05:37
Vârsta: 25 ani
Mesaje: 253
Locatie: Iasi , Romania
Programator

 
    Postat la 14 Jul 2008 22:13:15    Subiect: < fara subiect >
jos8cal info:

jos8cal:

GetLastError() ce zice dupa ce da fail LoadLibrary()?

"Sunt la dispozitia dumneavoastra ca sa realizam ceea ce avem de realizat." (Blaxxunromania)

Breviar de personalitati.


Status:
Înregistrat pe:
10 Jun 2007 22:08:36
Vârsta: ? ani
Mesaje: 190
Locatie:


 
    Postat la 14 Jul 2008 23:35:30    Subiect: < fara subiect >
Deliverance info:

Deliverance:

FormatMessage zice: "The specified module could not be found"


Status:
Înregistrat pe:
13 Oct 2006 10:05:37
Vârsta: 25 ani
Mesaje: 253
Locatie: Iasi , Romania
Programator

 
    Postat la 15 Jul 2008 00:02:30    Subiect: < fara subiect >
Leonidas info:

Leonidas:

regsvr32 la dll-ul respectiv?


Status:
Înregistrat pe:
21 Apr 2008 18:24:58
Vârsta: ? ani
Mesaje: 4
Locatie:


 
    Postat la 15 Jul 2008 00:03:44    Subiect: < fara subiect >
nekitu info:

nekitu:

use DirectX Very Happy

SpoOoOoock! Life Is Too Short For Cheap Chocolate


Status:
Înregistrat pe:
29 Sep 2006 11:33:12
Vârsta: 32 ani
Mesaje: 1033
Locatie: Brasov
Programator
7thFACTOR Entertainment Studios
 
    Postat la 15 Jul 2008 00:14:02    Subiect: < fara subiect >
jos8cal info:

jos8cal:

FormatMessage zice: "The specified module could not be found"

Si daca modifici parametrul lui LoadLibrary() si ii dai direct calea catre el, ce zice?

Ultima editare efectuată de jos8cal pe 15 Jul 2008 00:14:12; 1 editări în total

"Sunt la dispozitia dumneavoastra ca sa realizam ceea ce avem de realizat." (Blaxxunromania)

Breviar de personalitati.


Status:
Înregistrat pe:
10 Jun 2007 22:08:36
Vârsta: ? ani
Mesaje: 190
Locatie:


 
    Postat la 15 Jul 2008 00:42:55    Subiect: < fara subiect >
Deliverance info:

Deliverance:

Regsvr32 C:WINDOWSsystem32gdi32.dll spune:

"C:WINDOWSsystem32gdi32.dll was loaded but the DllRegisterServer entry point was not found.

This file cannot be registered."

Daca scriu asa:
    _glfwLibrary.Libs.gdi32 = LoadLibrary( "C:/windows/system32/gdi32.dll" );

se intampla acelasi lucru...


Status:
Înregistrat pe:
13 Oct 2006 10:05:37
Vârsta: 25 ani
Mesaje: 253
Locatie: Iasi , Romania
Programator

 
    Postat la 15 Jul 2008 01:16:35    Subiect: < fara subiect >
jos8cal info:

jos8cal:

Vezi cu dependecywalker-ul ce dependinte lipsa are.

"Sunt la dispozitia dumneavoastra ca sa realizam ceea ce avem de realizat." (Blaxxunromania)

Breviar de personalitati.


Status:
Înregistrat pe:
10 Jun 2007 22:08:36
Vârsta: ? ani
Mesaje: 190
Locatie:


 
    Postat la 15 Jul 2008 11:42:10    Subiect: < fara subiect >
Deliverance info:

Deliverance:

Nu sunt familiarizat cu dependency walker. Am observat ca imi afiseaza dll-urile de care depinde executabilul meu, insa ce ar trebui sa fac eu cu informatiile astea?Sa copiez fiecare dll de-acolo langa executabil?


Status:
Înregistrat pe:
13 Oct 2006 10:05:37
Vârsta: 25 ani
Mesaje: 253
Locatie: Iasi , Romania
Programator

 
    Postat la 15 Jul 2008 12:13:49    Subiect: < fara subiect >
Dark info:

Dark:

Poti face 2 chestii:

1. Deschizi gdi32.dll cu depends si te uiti in lista din mijloc daca apare vreun DLL cu semnu' intrebarii. Vei vedea citeva cu o clepsidra si semnul intrebarii, alea-s cu lazy loading, deci nu sint de fapt o problema. E nasol daca vezi unul cu semnul intrebarii si atit.

2. Deschizi exe-ul tau cu depends si-i dai "start profiling" (F7). Vezi sa fie bifate check-urile cu "hook the process" si "log LoadLibrary". O sa-ti scrie in log window tot ce se petrece cind se incarca DLL-uri si o sa vezi acolo detalii despre de ce nu vrea un anumit DLL sa colaboreze.

Totusi, e teribil de dubios ca nu ti se incarca gdi32.dll. Nu ti-ar merge aproape nici o aplicatie daca nu s-ar incarca ala. Ia incearca sa-i pui backslash-uri in loc de slash-uri, LoadLibrary() avea probleme cu asta mai demult (n-am XP32 aici sa testez).

Ultima editare efectuată de Dark pe 15 Jul 2008 12:15:44; 1 editări în total

"Am crezut ca esti ceva mai avansat" - Nekitu, 2008 A.D.
Autobaza


Status:
Înregistrat pe:
12 May 2007 20:12:30
Vârsta: ? ani
Mesaje: 740
Locatie:
Programator

 
    Postat la 15 Jul 2008 13:10:03    Subiect: < fara subiect >
Deliverance info:

Deliverance:

Am reusit sa-l fac sa mearga folosind libraria precompilata de pe site-ul glfw. Ca sa pot compila cu succes un program care foloseste libraria asta trebuia sa pun un preprocessor switch: GLFW_BUILD_DLL.
Totusi, ce ma intereseaza pe mine este deployment-ul aplicatiei. Folosesc Microsoft visual studio express. Am aflat ca daca in loc de Multithreaded DLL folosesc doar Multithreaded, am nevoie doar de 2 dll-uri si un fisier manifest pentru a rula programul(si pe alte calculatoare) fara sa instalez vc++ redistributeable.
De ce as vrea sa compilez eu libraria glfw? Pentru ca o pot compila folosind optiunea Multithreaded. In momentul de fata libraria de pe site cred ca este compilata cu Multithreaded dll pentru ca daca incerc sa compilez programul cu Multithreaded simplu, folosind libraria respectiva am cateva erori la link-editare:

MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _strchr already defined in LIBCMTD.lib(strchr.obj)
MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _free already defined in LIBCMTD.lib(dbgfree.obj)
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info:Surprisedperator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)

Dependency walker nu imi afiseaza cu semnul intrebarii nimic. Log-ul contine cateva linii colorate cu rosu care imi spun ca nu s-au putut incarca niste functii din dll-urile: msvcr71.dll si msvcr90d.dll. Functiile sunt: FlsAlloc, FlsGetValue,FlsSetValue, FlsFree.

Ultima editare efectuată de Deliverance pe 15 Jul 2008 13:11:25; 1 editări în total


Status:
Înregistrat pe:
13 Oct 2006 10:05:37
Vârsta: 25 ani
Mesaje: 253
Locatie: Iasi , Romania
Programator

 

Pagina 1 din 1 [ 1 ]


Server time: 02:51:13 24.05.2012



[ Termeni si conditii | Contact | F.A.Q. | Funny Pictures ]

© 2006 - 2012 Copyright 7thFACTOR Entertainment - All rights reserved