Zitat:
Zitat von GameZToday hi... also ich hab Visual Studio .NET 2003... wie kompilier ich jetz den source code? kann mir das einer bitte schritt für schritt erklären?
GT |
So, ich habe mir mal die Mühe gemacht, die Anleitung, die mir sivka per PN zugeschickt hat und die auf
http://forum.emule-project.net/index...howtopic=22730 zu finden ist, halbwegs vernünftig ins Deutsche zu übersetzen
![Wink](images/smilies/icon_wink.gif)
.
Problem: Die Libs crypto51, zlib und id3lib bekommt man mit der Anleitung erstellt (mit ein wenig tüffteln). Nur basiert diese Anleitung auf einer eMule-Version, die noch keine CxImage lib benutzt (0.29 oder so). Und die zu kompileren habe ich noch nicht herausgefunden, da ich Schwierigkeiten habe, die dazugehörige png.lib zu erstellen.
Und die crypt.lib ist bei mir ca. 27 bis 30 MB gross
![Icon Undecided](images/smilies/icon_undecided.gif)
(ist das normal
![Icon Question](images/smilies/icon_question.gif)
)
Kann jemand die Anleitung dazu posten bzw. folgende Anleitung so ergänzen, dass man im Handumdrehen eMule per originalem Sourcecode 0.30e (inkl. CxImage lib, MobilMule und sonstigen Erweiterung) mit Visual Studio .NET 2002/2003 erstellen kann? Das wäre nett
Zitat:
HOWTO - eMule sources kompilieren mit Microsoft Visual C++ .NET 2002
Den Sourcecode von eMule kann man hier runterladen: http://sourceforge.net/projects/emule
Man benötigt Microsoft© Visual C++ .NET 2002 um eMule zu kompilieren.
- Den Source code in einen neuen Ordner inkl. Unterverzeichnissen entpacken
Seit der Version 0.29b müssen zusätzlich folgende Bibliotheken gedownloadet werden, die nicht im Sourcepackage enthalten sind:
1. Crypto++ v5.1 http://www.eskimo.com/~weidai/cryptlib.html
2. zlib v1.1.4 http://www.gzip.org/zlib/
3. id3lib v3.8.3 http://sourceforge.net/projects/id3lib/
Den source code jeder Bibliothek eine Ebene über der des Quelltextes von eMule speichern, so dass die Verzeichnisstruktur wie folgt aussieht:
.\eMule
(Das Verzeichnis in dem alle Quelltexte, die für eMule von Bedeutung sind, gespeichert werden)
.\eMule\src
(Der Source code von eMule)
.\eMule\zlib
(Der Source code der zLib)
.\eMule\crypto51
(Der Source code von Crypto++ v5.1)
.\eMule\id3lib
(Der Source code der id3lib 3.8.3)
Die crypto51 Bibliothek erstellen:
* Kopiere den Inhalt der Datei crypto51.zip nach .\eMule\crypto51
* Starte Visual Studio gehe auf "Datei"/"Öffnen"/"Projekt" und öffne die Datei .\eMule\crypto51\cryptest.dsw. Du wirst aufgefordert die Datei zu konvertieren, was Du auch tust.
* Erstelle nun die cryptlib, sowohl die Debug- als auch die Release-Version. Als resultat erhälst Du folgende Dateien:
1.) .\eMule\crypto51\debug\cryptlib.lib
2.) .\eMule\crypto51\release\cryptlib.lib
Die zlib Bibliothek erstellen:
* Entpacke den Inhalt, der sich in der Datei zlib-1.1.4-1-src.zip befindet nach .\eMule\zlib
* Erstelle ein neues Projekt mit folgenden Eigenschaften:
* Speicherort: .\eMule\zlib
* Name: libz
* Typ: Win32 Projekt / Statische Bibliothek
* "Vorcompilierter Header" auswählen : Nein!
* "MFC" auswählen: Nein!
* Nachdem das Projekt erstellt wurde, unter Projekteigenschaften auf "C/C++"/"Codeerstellungen" gehen. Anschliessend für "Debug" "Multithreaded-Debug (/MTd)", und für "Release" "Multithreaded (/MT)" bei "Laufzeitbibliothek" auswählen.
* Folgende Dateien dem Projekt hinzufügen:
adler32.c
compress.c
crc32.c
deflate.c
gzio.c
infblock.c
infcodes.c
inffast.c
inflate.c
inftrees.c
infutil.c
trees.c
uncompr.c
zutil.c
* Die "Debug" und die "Release" version erstellen, so dass folgende Dateien entstehen:
1.) .\eMule\zlib\debug\libz.lib
2.) .\eMule\zlib\release\libz.lib
Die id3lib Bibliothek erstellen:
* Entpacke den Inhalt, der sich in der Datei id3lib-3.8.3.zip befindet nach .\eMule\id3lib
* Nenne die Datei .\eMule\id3lib\config.h.win32 in .\eMule\id3lib\config.h um
* Starte Visual Studio gehe auf "Datei"/"Öffnen"/"Projekt" und öffne die Datei .\eMule\id3lib\libprj\id3lib.dsw. Du wirst aufgefordert die Datei zu konvertieren, was Du auch tust.
* Stelle sicher, dass folgende Einstellungen gemacht sind:
1.) Allgemeines:
a.) Konfigurationstyp: Statische Bibliothek (.lib)
b.) Verwendung von MFC: Windows-Standardbibliotheken verwenden
2.) "C/C++"/"Codeerstellungen":
a.) Laufzeitbibliothek: "Multithreaded-Debug (/MTd)" ... für "Debug"
b.) Laufzeitbibliothek: "Multithreaded (/MT)" ... für "Release"
* Die "Debug" und die "Release" version erstellen.
eMule erstellen
Die Projektdatei von eMule setzt voraus, dass sich Bibliotheken und Headerdateien in folgenden UnterVerzeichnissen von .\eMule befinden:
Header Dateien:
.\crypto51
.\zlib
.\id3lib\include
Bibliotheken:
.\crypto51\debug\cryptlib.lib
.\crypto51\release\cryptlib.lib
.\zlib\debug\libz.lib
.\zlib\release\libz.lib
.\id3lib\libprj\id3lib.lib
.\id3lib\libprj\id3libD.lib
Wenn Du andere Verzeichnisse verwenden willst, musst Du die Projekteigenschaften dementsprechend anpassen.
* Öffne die emule.sln Projektmappe
* Wenn Du eine Nachricht Marke "Falsche Visual C++ Version" bekommst, musst Du die Dateien emule.sln und emule.vcroj mit einem Texteditor öffnen und folgendes ändern:
emule.sln: "...Format Version 8.00" nach 7.00 falls Du Microsoft© Visual C++ .NET 2002 nutzt
emule.vcproj: Version="7.10" nach 7.00 falls Du Microsoft© Visual C++ .NET 2002 nutzt
* Wähle "Release" oder "Debug"
* Erstelle die Projektmappe
* Falls das Kompilieren erfolgreich war, ist die EXE-Datei unter .\eMule\src\Debug bzw. .\eMule\src\Release zu finden
* Falls Du die Debugversion erstellst, brauchst Du die neuste dbghelp.dll von Microsoft um das Programm zu starten
WICHTIG: Wenn Du eMule modifizieren und anschliessend vertreiben willst, dann achte die GPL. Du musst den Source code mit den Binaries zum Download anbieten (zusammen oder getrennt).
|