GNAT GPS linke met libs en dll's

Status
Niet open voor verdere reacties.

ldries46

Gebruiker
Lid geworden
1 mrt 2006
Berichten
470
Besturingssysteem
Windows 11
Ik probeer OpenGL te gebruiken in een programma dat met GNAT Programming Studio onder Windows 7 gebouwd wordt. Het programma heeft functies nodig die ofwel in OpenGL.dll, GLU32.dll en GLUT.dll staan ofwel in OpenGL.lib, GLU32.lib en GLUT32.lib De dll files staan in: C:\Windows\System32 directory en de libs in D:\Program Files\GNAT\OpenGL\libwin32. Mijn programma sourcefiles en de .gpr file staan in: E:\ada\project\Test. Nu krijg ik undefined references voor alle functies in de drie genoemde dll's of lib's. Als ik aan de .gpr: for Linker_Options use("-LC:\Windows\System32") toevoeg verdwijnen de undefined references voor OpenGL maar de anderen blijven bestaan. Als ik de lib files probeer met: for Linker_Options use ("-lopenGL32", "-lGlu32", "-lglut32") kan ik de libs ook niet bereiken en toevegen van "-LD:\Program Files\GNAT\OpenGL\libwin32"werkt ook niet. Op welke manier kan ik tenminste e van de twee soorten libraries bereiken?
 
Ervan uitgaande dat gcc de compiler is heb je de linker opties:
-LD:\Program Files\GNAT\OpenGL\libwin32 -lopenGL32 -lglu32 -lglut32
nodig.

De librarys hebben wel een speciale vorm nodig om gevonden te worden
in de vorm van libxxx.a
De library openGL32.lib zou dus libopenGL32.a moeten heten.
je zou kunnen proberen de naam van de librarys te veranderen.

Dit betekent nog niet dat het zal werken. Het zou best kunnen dat de library niet compatibel is met gcc.
 
Laatst bewerkt:
Ik denk niet dat ik je verder nog kan helpen.
Voor anderen is het handig als je een build-log of een compile-log kan posten.
EDIT: Als je een build-log post dan hoef je van de linker errors alleen de eerste 3 errors te posten. (Anders wordt het misschien zo lang)


Je kan nog proberen een pad zonder spaties voor de library's te gebruiken.
Nu zitten de libs in een subdirectory van "Program Files" waar een spatie in zit.

Ook kan je proberen de library direct mee te geven door het absolute pad te gebruiken
(Alhoewel dat niet zou mogen uitmaken).
dus i.p.v.
"-LD:\Program Files\GNAT\OpenGL\libwin32" -lglu32
dit:
"D:\Program Files\GNAT\OpenGL\libwin32\glu32.lib"

Edit: ik zie dat je gebruikt maakt van "for Linker_Options"
Dan wordt het iets als dit:
for Linker_Options use ("D:\Program Files\GNAT\OpenGL\libwin32\glu32.lib")
 
Laatst bewerkt:
Herhaalde oproep

De vraag die ik hier gesteld heb is behoorlijk belangrijk voor mij. Ook een suggestie waar ik een antwoord zou kunnen vinden of ktijgen zou welkom zijn
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan