Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 14:13

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: dglOpenGL und Lazarus
BeitragVerfasst: Mo Jan 05, 2009 20:45 
Offline
DGL Member
Benutzeravatar

Registriert: Di Aug 12, 2008 16:50
Beiträge: 22
Hallo...
Ich versuche gerade mich etwas in Lazarus einzuarbeiten. Nun stehe ich vor dem Problem, dass sich die dglOpenGL.pas ja praktisch garnicht in Lazarus 0.9.26 Beta kompilieren lässt. Erst hat er die Geometry.pas nicht gefunden, die habe ich dann aus dem DGLSDK übernommen, wie auch sämtliche andere Dateien. Dann stand ich vor dem Problem, dass sich die Geometry.pas nicht kompilieren lies, weil Lazarus die wohl nur versteht, wenn man {$ASMMODE intel} am Anfang, sowie assembler; bei jeder Assemblerfunktion einfügt. Soweit hat er die jetzt auch geschaft. Dafür habe ich jetzt sehr viele andere Fehlermeldungen bekommen, die anscheinend nicht mehr so einfach zu lösen sind.

Zitat:
C:\Programme\Lazarus\units\error.int(13,9) Hint: Type "TError" redefinition
C:\Programme\Lazarus\units\dcal3d.pas(306,26) Hint: Local variable "head" does not seem to be initialized
C:\Programme\Lazarus\units\coreanimation.imp(177,33) Hint: Local variable "trackCount" does not seem to be initialized
C:\Programme\Lazarus\units\corebone.imp(163,24) Hint: Local variable "i" does not seem to be initialized
C:\Programme\Lazarus\units\corematerial.imp(203,31) Hint: Local variable "mapCount" does not seem to be initialized
C:\Programme\Lazarus\units\corematerial.imp(210,26) Hint: Local variable "l" does not seem to be initialized
C:\Programme\Lazarus\units\coremesh.imp(130,35) Hint: Local variable "submeshCount" does not seem to be initialized
C:\Programme\Lazarus\units\coremodel.int(63,31) Hint: Parameter "strFilename" not used
C:\Programme\Lazarus\units\coremodel.int(63,53) Hint: Parameter "id" not used
C:\Programme\Lazarus\units\coremodel.int(64,30) Hint: Parameter "strFilename" not used
C:\Programme\Lazarus\units\coremodel.int(64,52) Hint: Parameter "id" not used
C:\Programme\Lazarus\units\coremodel.int(65,26) Hint: Parameter "strFilename" not used
C:\Programme\Lazarus\units\coremodel.int(65,48) Hint: Parameter "id" not used
C:\Programme\Lazarus\units\coremodel.int(66,30) Hint: Parameter "strFilename" not used
C:\Programme\Lazarus\units\coreskeleton.imp(250,32) Hint: Local variable "boneCount" does not seem to be initialized
C:\Programme\Lazarus\units\coresubmesh.imp(78,26) Note: Local variable "NUMSPRINGS" is assigned but never used
C:\Programme\Lazarus\units\coresubmesh.imp(145,14) Error: Duplicate identifier "SpringCount"
C:\Programme\Lazarus\units\coresubmesh.imp(145,14) Hint: Identifier already defined in coresubmesh.int at line 89
C:\Programme\Lazarus\units\coresubmesh.imp(156,34) Hint: Local variable "vertexCount" does not seem to be initialized
C:\Programme\Lazarus\units\coresubmesh.imp(160,32) Hint: Local variable "faceCount" does not seem to be initialized
C:\Programme\Lazarus\units\coresubmesh.imp(167,34) Hint: Local variable "springCount" does not seem to be initialized
C:\Programme\Lazarus\units\coresubmesh.imp(177,45) Hint: Local variable "textureCoordinateCount" does not seem to be initialized
C:\Programme\Lazarus\units\coresubmesh.imp(214,41) Hint: Local variable "influenceCount" does not seem to be initialized
C:\Programme\Lazarus\units\coresubmesh.imp(225,29) Hint: Local variable "PP" does not seem to be initialized
C:\Programme\Lazarus\units\coretrack.imp(162,36) Hint: Local variable "keyframeCount" does not seem to be initialized
C:\Programme\Lazarus\units\mixer.imp(279,45) Error: Incompatible types: got "Pointer" expected "CalAnimationAction"
C:\Programme\Lazarus\units\mixer.imp(299,43) Error: Incompatible types: got "Pointer" expected "CalAnimationCycle"
C:\Programme\Lazarus\units\mixer.imp(342,3) Error: Duplicate identifier "AnimationTime"
C:\Programme\Lazarus\units\mixer.imp(342,3) Hint: Identifier already defined in mixer.int at line 46
C:\Programme\Lazarus\units\mixer.imp(371,45) Error: Incompatible types: got "Pointer" expected "CalAnimationAction"
C:\Programme\Lazarus\units\mixer.imp(401,43) Error: Incompatible types: got "Pointer" expected "CalAnimationCycle"
C:\Programme\Lazarus\units\vector.imp(171,3) Error: Duplicate identifier "length"
C:\Programme\Lazarus\units\vector.imp(171,3) Hint: Identifier already defined in vector.int at line 35
C:\Programme\Lazarus\units\dcal3d.pas(356) Fatal: There were 7 errors compiling module, stopping
---------------------------------------------
TCodeToolManager.InitCurCodeTool MainCode=nil


Meine Frage ist also: Wie kann ich die dglOpenGL mit Lazarus benutzen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 05, 2009 23:24 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Ich kann Dir versichern, dass Lazarus sehr gut mit dglOpenGL funktioniert, sowohl in Windows, als auch in Linux. Um aber irgendwas dazu sagen zu können, wäre es notwendig, ein paar genauere Anagben zu haben, was Du da machst. Z.B: die Version des dglOpenGL.pas wäre nicht schlecht. Und Du kompilierst etwas aus dem DGLSDK, das - vorsichtig ausgedrückt - schon etwas verstaubt ist. Der neueste dglOpenGL-Header hat sich seit 2006 etwas weiterentwickelt. Kann ich jetzt nicht sagen, ob sich dadurch Probleme ergeben.

Was Du da übersetzt ist Cal3D, das in einem SDL-Unterverzeichnis steckt. Weiß ich jetzt nicht auswendig, aber vielleicht braucht man dazu das SDL?

Und hast Du Lazarus auf den Delphi-Modus umgestellt?

Hast Du diese Dinge vorher mit Delphi kompilieren können?

Öhm, es wäre vielleicht nicht schlecht für den Anfang, mal zu schaun, ob sich ein kleines TestProjekt kompilieren lässt?
Traude


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 06, 2009 12:16 
Offline
DGL Member
Benutzeravatar

Registriert: Di Aug 12, 2008 16:50
Beiträge: 22
So, nachdem ich inzwischen die meisten Tricks rausgefunden habe, funktioniert es - fast.
Die dglOpenGL, Geometry, etc kompiliert er jetzt ohne Probleme, allerdings stehe ich jetzt vor dem Problem, dass ich meine Form nicht laden kann...
Die Zeile {$R *.dfm} scheint wohl dafür verantwortlich zu sein. Auf http://209.85.129.132/search?q=cache:wDThbVJ31NsJ:www.lazarus.freepascal.org/index.php%3Fname%3DPNphpBB2%26file%3Dviewtopic%26p%3D24126+windres:+can%27t+open+file+%60TForm1%27:+No+such+file+or+directory&hl=de&ct=clnk&cd=2&gl=de habe ich dann gelesen, dass ich die Zeile auskommentieren soll. Wenn man das macht, lässt sich das Projekt zwar kompilieren, anstelle der eigentlichen Form wird aber nur eine leere Form erstellt. Ein Ändern in {$R *.lfm} bringt nichts, da kommt genau der selbe Fehler.
Zitat:
windres: can't open file `TForm1': No such file or directory

Die lfm/lrs-Datei habe ich mit Werkzeuge>DFM- in LFM-Datei umwandeln erstellt.
Ich weiss ja noch nicht einmal, ob die OpenGL-Sachen jetzt funktionieren, weil ich bislang ja nicht soweit gekommen bin, dass ich was ausprobieren kann.
Wie mache ich, dass es geht?
Im Übrigen habe ich bereits ein anderes Delphi-(Test)-Projekt zum Laufen gebracht - aber mit Form. Ich frag mich echt, woran das liegt.

Aja, in Delphi7 buildet alles nach wie vor ohne Probleme.

EDIT

Ich hab's hinbekommen.


Zuletzt geändert von Typhox am Di Jan 06, 2009 12:48, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 06, 2009 12:42 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Um eine .lrs einzubinden, musst du folgendes vor dem end. der Unit tun:
Code:
  1. initialization
  2.   {$I unit1.lrs}  


wobei unit1 natürlich entsprechend angepasst werden sollte.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 06, 2009 12:51 
Offline
DGL Member
Benutzeravatar

Registriert: Di Aug 12, 2008 16:50
Beiträge: 22
Okay, danke, jetzt geht endlich alles.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 06, 2009 17:59 
Offline
DGL Member
Benutzeravatar

Registriert: Di Aug 12, 2008 16:50
Beiträge: 22
...Zumindest unter Windows.
Jetzt bin ich gerade dabei, das unter Linux (Ubuntu 8.10 x64) zu probieren. Leider geht mal wieder irgendwas nicht. Wenn ich das Programm starte, kommt erstmal 'ne Meldung, dass er irgendein Free Pascal-Directory nicht finden konnte. Dessen unbeachtet habe ich mich weiter vorangewagt und das Programm von vorhin nochmal zu kompillieren versucht. Diesmal scheint Lazarus mit dem Assembler-Code in der Geometry.pas nicht klarzukommen. Erst meckert es, dass da ASM anstelle von begin steht, nachdem ich jetzt mehrere Male den Assembler-Style unter Project>Compiler Options>Parsing geändert habe, meckert er nur noch über den ASM-Inhalt
Code:
  1. asm
  2.               FLD  Theta
  3.               FSINCOS
  4.               FSTP TBYTE PTR [EDX]    // cosine
  5.               FSTP TBYTE PTR [EAX]    // sine
  6.               FWAIT
  7. end;

Über die Zeilen FSTP TBYTE PTR [EDX] und FSTP TBYTE PTR [EAX] und meint im Intel-Style:
Zitat:
Geometry.pas(397,34) Error: Asm: 16 or 32 Bit references not supported

Und im AT&T-Style kann man's sowieso vergessen.
Ich weiß schon wieder nicht weiter... Was jetzt?
Da ich ein 64-Bit Betriebssystem benutze, habe ich natürlich auch die amd64-Version installiert. Kann es daran liegen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 06, 2009 18:36 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Ic hab was gefunden für Dich, aber es wird Dich nicht freuen:http://community.freepascal.org:10000/bboards/message?message_id=219669&forum_id=24089
Ist aber schon ein alter Beitrag.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]