Seite 1 von 13 1234511 ... LetzteLetzte
Ergebnis 1 bis 15 von 188

Thema: DLL kreieren - Probleme, Hilferufe und Erfahrungsberichte

  1. #1
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209

    DLL kreieren - Probleme, Hilferufe und Erfahrungsberichte

    So, ich möchte nun darangehen, die Mod "Domestic Market" in meine Modmod zu integrieren.

    Dazu habe ich mir dieses Tutorial bei den Fanatics herausgesucht. Es scheint ziemlich deckungsgleich mit dem Tutorial von deepwater [TUT] Erstellen der CvGameCoreDLL.dll (3.19) zu sein.

    Zur Zeit lade ich mir gerade Visual Studia 2010 Express herunter, danach sehen wir weiter.

    Ich kann nur jedem raten, schon mal Ohrenstöpsel anzulegen, meine Hilferufe werden sicherlich gleich erschallen....


  2. #2
    Modder Avatar von Schmiddie
    Registriert seit
    07.07.07
    Ort
    im Norden
    Beiträge
    757
    Vielleicht hilft dir auch schon das hier?

    http://forums.civfanatics.com/showthread.php?t=448871
    Colonization Modder
    Teammitglied der Colonization Mod "We The People"
    Teammitglied der Colonization Mod "Religion and Revolution"

    We The People (Nachfolger von Religion and Revolution): New Version published!
    Version 4.1 => Klick mich!

  3. #3
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209
    Danke, ja, den kannte ich schon.

    Ich liege nur im Moment krankheitsbedingt auf der Nase und bin schlicht zu anspruchsvolleren Tätigkeiten im Moment nicht in der Lage.
    Wird aber Mitte der Woche, so hoffe ich, weitergehen.


  4. #4
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209
    Hmm...

    Ich habe mein VS 2010 Express mal wieder ausgepackt und mich mithilfe des oben erwähnten Tutorials (englisch) daran versucht, eine .dll zu kompilieren. Wer mich länger kennt, wird das Ergebnis erahnen können.

    Ich bekomme eine Fehlermeldung (sinngemäß: "File Final_Release could not be found / Datei Final_Release konnte nicht gefunden werden"), die sich m.E. auf Angaben in dem von mir verwendeten "MakeFile" bezieht.
    Im Spoiler sind die von mir als relevant erachteten Einträge (des Original-MakeFiles) noch einmal aufgeführt.
    Achtung Spoiler:

    ### Variables used in this Makefile
    TOOLKIT=C:/Program Files/Microsoft Visual C++ Toolkit 2003
    PSDK=C:/Program Files/Microsoft Platform SDK
    RM=C:/ColMod/CvGameCoreDLL/rmf.bat
    Debug_CC="$(TOOLKIT)/bin/cl.exe"
    Debug_CPP="$(TOOLKIT)/bin/cl.exe"
    Debug_LD="$(TOOLKIT)/bin/link.exe"
    Debug_LIB="$(TOOLKIT)/bin/link.exe"
    Debug_RESCOMP=rc.exe

    Final_Release_CC="$(TOOLKIT)/bin/cl.exe"
    Final_Release_CPP="$(TOOLKIT)/bin/cl.exe"
    Final_Release_LD="$(TOOLKIT)/bin/link.exe"
    Final_Release_LIB="$(TOOLKIT)/bin/link.exe"
    Final_Release_RESCOMP=rc.exe

    ### Compiler/linker options
    Debug_GLOBAL_CFLAGS=
    Debug_PROJECT_CFLAGS=
    Debug_GLOBAL_LDFLAGS=
    Debug_PROJECT_LDFLAGS=
    Debug_GLOBAL_INCS= /I"$(TOOLKIT)/include" /I"$(PSDK)/Include"
    Debug_PROJECT_INCS=
    Debug_GLOBAL_LIBDIRS= /LIBPATH:"$(TOOLKIT)/lib" /LIBPATH:"$(PSDK)/Lib"
    Debug_PROJECT_LIBDIRS=
    Debug_GLOBAL_LIBS=
    Debug_PROJECT_LIBS=

    Final_Release_GLOBAL_CFLAGS=
    Final_Release_PROJECT_CFLAGS=
    Final_Release_GLOBAL_LDFLAGS=
    Final_Release_PROJECT_LDFLAGS=
    Final_Release_GLOBAL_INCS= /I"$(TOOLKIT)/include" /I"$(PSDK)/Include"
    Final_Release_PROJECT_INCS=
    Final_Release_GLOBAL_LIBDIRS= /LIBPATH:"$(TOOLKIT)/lib" /LIBPATH:"$(PSDK)/Lib"
    Final_Release_PROJECT_LIBDIRS=
    Final_Release_GLOBAL_LIBS=
    Final_Release_PROJECT_LIBS=

    Meine erste Frage, während ich den ganzen Mist noch einmal versuche: hat jemand ein aktuelles, funktionsfähiges MakeFile für Civ4:Col (gepatcht) zur Hand und könnte es mit bitte zur Verfügung stellen?


  5. #5
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Benutzt du nicht das Makefile von TAC ?
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  6. #6
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209
    Zitat Zitat von raystuttgart Beitrag anzeigen
    Benutzt du nicht das Makefile von TAC ?


    Ich hab's echt an den Augen.

    Ich habe es nicht gesehen. Danke für den Hinweis.


  7. #7
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209
    Tja, neues Problem...

    Ich lege ein Makefile-Projekt an. Name sei CvGameCoreDLL-testx (gem. Tutorial sollte es nur CvGameCoreDLL sein, aber dann meckert VS, dass ein solches Verzeichnis schon besteht - das ist nämlich das Verzeichnis, in dem ich die Quelldateien gespeichert habe, und genau so soll das Verzeichnis gem. Tutorial auch heißen).
    Ich stelle die Pfade gem. Tutorial ein und durchlaufe dann den Projekt-Makefile-Assistenten. Danach füge ich über "Projekt>Vorhandenes Element hinzufügen" das Verzeichnis "CvGameCoreDLL" hinzu. VS untersucht die Dateien sowohl aus diesem Verzeichnis, wie auch aus den "Include"-Verzeichnissen, die im Makefile unter dem Pfad "PSDK=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A" angegeben sind.

    Bis hierher scheint also alles in Ordnung zu sein.

    Dann rufe ich über "Projekt>Eigenschaften" die Projekteigenschaften auf, und markiere unter "Konfigurationseigenschaften" den Punkt "NMake".

    Und nun sollte ich gem. Tutorial eigentlich im Konfigurationsmanager die Konfiguration von "Release" in "Final_Release" umbenennen. Wenn ich das jedoch tue, geht mir der Punkt "NMake" in den Konfigurationseigenschaften verloren. Es tauchen zwar jede Menge neue Punkte auf, aber keiner von denen beinhaltet mehr "NMake".
    Führe ich die im Tutorial beschriebenen Pfadangaben vor Aufrufen des Konfigurationsmanagers durch, dann beziehen sie sich aber auf die derzeit aktive Konfiguration "Debug".

    Es fehlen also am Schluss in jedem Fall für die Konfiguration "Final_Release" die Einträge für "Build Command Line", "Rebuild All Command Line" und "Clean Command Line".
    (Hier hätte ich gern ein Bild eingefügt, aber die Dialogbox schließt sich nicht mehr - warum auch immer. Es ist aber im Anhang aufzurufen)

    Hier stehe ich, ich kann nicht anders.
    Angehängte Grafiken Angehängte Grafiken


  8. #8
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209
    Ich habe jetzt testhalber darauf verzichtet, im Konfigurationsmanager "Release" in "Final_Release" umzubenennen. Die "Build Command Line", "Rebuild All Command Line" und "Clean Command Line"-Einträge habe ich jeweils auf "Release" anstelle von "Final_Release" geändert.

    Ergebnis: Fehlermeldung
    1>NMAKE : fatal error U1052: Datei "Release" nicht gefunden
    1> Stop.
    1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.MakeFile.Targets(38,5): error MSB3073: Der Befehl "nmake Release" wurde mit dem Code 2 beendet.
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


  9. #9
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209
    So, ich bin nun dahinter gekommen, wie man nach den Änderungen im Konfigurationsmanager wieder an den Konfigurationspunkt "NMake" gelangt:
    Man muss den "Konfigurationstyp" unter "Projektstandards" von "Anwendung" auf "Makefile" setzen. Dann hat man auch den Punkt "NMake" wieder, und kann die "Build"-Angaben hinzufügen.

    Hilft aber nichts, weil die Fehlermeldung jetzt so lautet:
    1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(283,5): error MSB8013: Das Projekt enthält nicht die Konfigurations- und Plattformkombination von "Release|Win32".
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


  10. #10
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209
    Ich habe das alles nun noch einmal durchgespielt, und die im Tutorial für "Final_Release" aufgeführten Anweisungen für "Release" durchgeführt. Tatsächlich fing er an zu kompilieren.

    Nun habe ich aber eine neue Fehlermeldung:
    1>c:\users\normaler benutzer\desktop\colonization\100 dll workfile\cvgamecoredll\CvGameCoreDLL.h(159): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "boost/python/list.hpp": No such file or directory
    1> Code wird generiert...
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    Warum er jetzt im Verzeichnis "100 dll workfile" sucht, ist mir nicht ganz klar. Ich dachte, um das zu umgehen, würde man "Vorhandenes Element hinzufügen" verwenden?


  11. #11
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Zitat Zitat von Commander Bello Beitrag anzeigen
    Nun habe ich aber eine neue Fehlermeldung:
    Hast du geprüft, ob die Pfade der Includes im Makefile zu deinen Systempfaden passen ?
    (Du musst die richtigen Pfade deines Systems angeben.)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  12. #12
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209
    Zitat Zitat von raystuttgart Beitrag anzeigen
    Hast du geprüft, ob die Pfade der Includes im Makefile zu deinen Systempfaden passen ?
    (Du musst die richtigen Pfade deines Systems angeben.)
    Die Datei "list.hpp" ist im Makefile nicht angegeben. Ich vermute, dass sie irgendwo als Include mit relativem Pfad angegeben wird, der dann nicht zu meinen Pfaden passt.
    Ich könnte Emoticon: cz

    Naja, erst mal Abendbrot. Emoticon: lecker


  13. #13
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209
    Von wegen Abendbrot. Mir ist gerade aufgefallen, dass der Pfad ja doch korrekt ist:
    1>c:\users\normaler benutzer\desktop\colonization\100 dll workfile\cvgamecoredll\CvGameCoreDLL.h(159): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "boost/python/list.hpp": No such file or directory
    1> Code wird generiert...
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    Im Verzeichnis "cvgamecoredll" stecken alle Dateien für die DLL drin. Ich habe manuell nachgesehen und die "list.hpp" tatsächlich unter
    "C:\Users\Normaler Benutzer\Desktop\Colonization\100 DLL workfile\CvGameCoreDLL\Boost-1.32.0\include\boost\python" gefunden.


  14. #14
    Ein Platz an der Sonne Avatar von Commander Bello
    Registriert seit
    05.06.05
    Ort
    Nähe Koblenz
    Beiträge
    6.209
    Das ist der entsprechende Eintrag aus der CvGameCoreDLL.h

    Code:
    (...)
    // Boost Python
    //
    # include <boost/python/list.hpp>
    # include <boost/python/tuple.hpp>
    # include <boost/python/class.hpp>
    # include <boost/python/manage_new_object.hpp>
    # include <boost/python/return_value_policy.hpp>
    # include <boost/python/object.hpp>
    # include <boost/python/def.hpp>
    
    namespace python = boost::python;
    (...)
    Es hängt also gleich beim ersten Python-Include, was darauf hindeutet, dass es für die folgenden auch nicht anders wäre.

    Die Frage ist nur, wo liegt der Fehler?


  15. #15
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    Bei den ganzen Tutorials wird eigentlich immer empfohlen, bei den Installations- und Arbeitspfaden Leerzeichen zu meiden. Das solltest du vielleicht mal anpassen.
    Ich lege ein Makefile-Projekt an. Name sei CvGameCoreDLL-testx (gem. Tutorial sollte es nur CvGameCoreDLL sein, aber dann meckert VS, dass ein solches Verzeichnis schon besteht - das ist nämlich das Verzeichnis, in dem ich die Quelldateien gespeichert habe, und genau so soll das Verzeichnis gem. Tutorial auch heißen).
    Du mußt das schon vorhandene CvGameCoreDLL-Verzeichnis nutzen. Da gibt es bei dem VS-Wizard irgendwo eine Option dafür. Die alten Projektdateien im CvGameCoreDLL-Verzeichnis sollten dann aber gelöscht werden, sonst meckert VS wieder.
    In der makefile sollte es ausreichen, die Toolkit- und SDK-Pfade anzupassen. Kommt es beim Kompilieren dann zu Fehlern, hast du VS falsch konfiguriert.

Seite 1 von 13 1234511 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •