Official eMule-Board: Howto Build The Emule Sources (with Vs2002) - Official eMule-Board

Jump to content


  • (14 Pages)
  • +
  • « First
  • 2
  • 3
  • 4
  • 5
  • 6
  • Last »

Howto Build The Emule Sources (with Vs2002)

#61 User is offline   Moonlight 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 522
  • Joined: 16-March 03

Posted 30 September 2003 - 07:55 PM

I think I have decided what I will do when the next 0.3x mule comes out...

1- Move all the libraries' sources to ..\..\[libname]
2- Set their final outputs to ..\..\[Release|Debug]\libname.lib
3- Strip lib paths from eMule's dependencies list
4- Put my lib path in the lib search path

This should be a lot more convenient... only have to mess with libs when I update one of them, everything would be in my top projects directory for easy access if I want to use one in some other project and only one directory to change if I move the libs around or switch between debug and release instead of having to change them all individually for each library.
0

#62 User is offline   Butterblume 

  • Member
  • PipPip
  • Group: Members
  • Posts: 22
  • Joined: 27-December 02

Posted 01 October 2003 - 12:28 PM

For all you lazy modders ;) I have packed a full source package including all compiled libs and the new source code from emule 0.30b together in one rar-archive.

This is really a "starting up" package, no need to compile any libs or third party stuff. Just copy your source in the "src" folder an push the button! ;)
Don't worry about some folders in there namend "id3lib-3.8.3" or just "id3", both in first folder, second in the source folder. I have copied these files in there because some of the modders don't use the default folder architecture of emule.
Nevertheless, this development base should work now with nearly every emule source available. A few may not, but I think this won't hurt much. ;)

Tested on VS2002 -> works fine! <- --- I am not sure, if it will work with VS2003! Check it out by yourself.

Ok, here we go:

---

Edit by Butterblume:
http-link removed, cause the traffic limit was nearly reached. ;)
but don't worry, whoever still wants this file, it is now available in p2p-system:

ed2k://|file|eMule0.30b-Sources-Full_Development-Base.rar|87848430|5BAB663A50ED99674CDA3F39C9BBFEAF|/

---


About 84 MB , so please be patient and give it some time to load. :D


Regards...

This post has been edited by Butterblume: 04 October 2003 - 12:46 PM

0

#63 User is offline   Tahattmeruh2 

  • The One And Only
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 632
  • Joined: 29-November 02

Posted 01 October 2003 - 01:37 PM

SlugFiller, on Sep 30 2003, 02:50 AM, said:

Also, like with previous libraries, you need to change in the "LIB" and "LIB Debug" configurations for it to use multi-threaded run-time libs instead of single-threaded.

Why do I have to change it to MT. I have compiled it single threaded and it works fine.
Can you explain it to me?

Tahattmeruh
0

#64 User is offline   AgentSmith 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 71
  • Joined: 23-October 02

Posted 01 October 2003 - 04:07 PM

Butterblume, on Oct 1 2003, 01:28 PM, said:

For all you lazy modders ;) I have packed a full source packet including all compiled libs and the new source code from emule 0.30b together in one rar-archive

....

Downloading and hoping for it to work.. ;)
A BIG THANKS in advance for hosting and serving such a huge file.
Hope there aren't any bad mods or virii in it :D
0

#65 User is offline   Butterblume 

  • Member
  • PipPip
  • Group: Members
  • Posts: 22
  • Joined: 27-December 02

Posted 01 October 2003 - 04:42 PM

no bad mods - no virus!
---------------------------

just the original code from 0.30b with all libs and stuff you need to get started at once. :D
0

#66 User is offline   AgentSmith 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 71
  • Joined: 23-October 02

Posted 01 October 2003 - 04:55 PM

Hehe, fine.
Works way better than the official file ;)
I still get the following error:

eMule0.30b-Sources-Full_Development-Base\src\crypto51\pubkey.h(756) : error C2027: Verwendung des undefinierten Typs "CryptoPP::OID"
eMule0.30b-Sources-Full_Development-Base\src\crypto51\pubkey.h(747): Siehe Deklaration von 'CryptoPP::OID'
eMule0.30b-Sources-Full_Development-Base\src\crypto51\pubkey.h(771): Siehe Verweis auf Instanziierung der kompilierten Klassenvorlage 'CryptoPP::DL_KeyImpl<PK,GP>'

Translation:

eMule0.30b-Sources-Full_Development-Base\src\crypto51\pubkey.h(756) : error C2027: Usage of undefined type "CryptoPP::OID"
eMule0.30b-Sources-Full_Development-Base\src\crypto51\pubkey.h(747): Look at declaration of 'CryptoPP::OID'
eMule0.30b-Sources-Full_Development-Base\src\crypto51\pubkey.h(771): Look at link to instanzation of the compiled class-template 'CryptoPP::DL_KeyImpl<PK,GP>'

Hope my englisch isn't too bad.
Any idea where it could come from?
Seems to have to do with the VS 200_3_, i use this version.
Maybe I need another version of crypto51? i think there was something like that about the crypto51 in the last version, too.

Yippie, got it working :D
Look at the crypto51 page for the vs2003 patch :)

This post has been edited by AgentSmith: 01 October 2003 - 05:35 PM

0

#67 User is offline   SlugFiller 

  • The one and only master slug
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 6988
  • Joined: 15-September 02

Posted 01 October 2003 - 05:22 PM

@Tahattmeruh2: If you do that you either have link errors, or if you use /FORCE or a similar solution, you get a buggy eMule which tends to crash unexpectedly at random times for utterly unknown reasons.

@Butterblume & AgentSmith:
Please use this: ed2k://|file|emule-project.rar|7882|AF79B7336C88A3539EAE42B09F666B70|/|sources,82.166.67.216:26498|/
This file includes all the vcproj files other than emule.vcproj(default is okay), and a solution file set to automatically compile all libraries in the proper order.

How to compile with this:
1. Download the eMule sources, and the sources for libpng, id3lib, zlib and cryptlib.
2. Extract them all to the same directory(e.g. "My Programs\eMule"), so they are each in their own directory under the same directory - meaning, the directory that came in the archive of the source(e.g. "My Programs\eMule\src", "My Programs\eMule\id3lib"). If you have a source archive that came without a directory, be sure to create a directory for it rather than putting the files without a directory.
3. Rename the sources directories as follows(those that aren't already by that name, that is): eMule - "src", id3lib - "id3lib", cryptlib - "crypto51", pnglib - "png", zlib - "zlib".
4. Move "Jigle" into "src"(e.g. "My Programs\eMule\Jigle" becomes "My Programs\eMule\src\Jigle")
5. Extract the file linked above to the same directory(e.g. "My Programs\eMule").
6. Open "emule.sln" from "src" with MSVC(or with explorer, if you have MSVC installed and associated with ".sln" files).
7. Hit Ctrl+Shift+B to build the project.

There, you're done.

This post has been edited by SlugFiller: 01 October 2003 - 05:25 PM

Why haven't you clicked yet?

SlugFiller rule #1: Unsolicited PMs is the second most efficient method to piss me off.
SlugFiller rule #2: The first most efficient method is unsolicited eMails.
SlugFiller rule #3: If it started in a thread, it should end in the same thread.
SlugFiller rule #4: There is absolutely no reason to perform the same discussion twice in parallel, especially if one side is done via PM.
SlugFiller rule #5: Does it say "Group: Moderators" under my name? No? Then stop telling me about who you want to ban! I really don't care! Go bother a moderator.
SlugFiller rule #6: I can understand English, Hebrew, and a bit of Japanese(standard) and Chinese(mandarin), but if you speak to me in anything but English, do expect to be utterly ignored, at best.
0

#68 User is offline   Avi-3k 

  • hebMule [retired] dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1127
  • Joined: 25-June 03

Posted 01 October 2003 - 05:43 PM

@AgentSmith
read my mini-guide on howto fix Crypto++ 4 VS.Net 2k3:
http://www.emule-pro...showtopic=22846

it will help u fix the errors in Crypto++!!

Avi3k
retired developer of hebMule and eMule Skinner...
hebMule site and topic.
hebMule2 unique features: AntiLeech, AntiVirus, Fake Check, ServerFilter, WebSearches, Export Searches, Relative Priority, ModID and much much more...

eMule Skinner is an application to create/edit skins for eMule,
it's multilingual, supports mods, easy-to-use design, integrates to hebMule & Windows and lots more...

code fixes/improvements: #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11 (to check/verify: #12, #13).
0

#69 User is offline   Tahattmeruh2 

  • The One And Only
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 632
  • Joined: 29-November 02

Posted 01 October 2003 - 06:37 PM

SlugFiller, on Oct 1 2003, 07:22 PM, said:

@Tahattmeruh2: If you do that you either have link errors, or if you use /FORCE or a similar solution, you get a buggy eMule which tends to crash unexpectedly at random times for utterly unknown reasons.

I thought, that you will say that. :)
I have eMule running now for 35 hours. and no crash so far. But if eMule crashes, I will replace it with the MT version.

Tahattmeruh
0

#70 User is offline   Butterblume 

  • Member
  • PipPip
  • Group: Members
  • Posts: 22
  • Joined: 27-December 02

Posted 01 October 2003 - 06:41 PM

AgentSmith, on Oct 1 2003, 05:55 PM, said:

Hehe, fine.
Works way better than the official file ;)
I still get the following error:

Yippie, got it working :D
Look at the crypto51 page for the vs2003 patch :)

As I wrote, it was tested with VS2002, not with VS2003. ;)
But Avi-3k's guide for crypto-lib seemed to be a help for you. :D

This post has been edited by Butterblume: 01 October 2003 - 06:42 PM

0

#71 User is offline   cyrex2001 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 148
  • Joined: 28-December 02

Posted 01 October 2003 - 07:33 PM

hello,

Quote

LIBC.lib(crt0dat.obj) : error LNK2005: __C_Exit_Done bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __C_Termination_Done bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __exitflag bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __wpgmptr bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __pgmptr bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: ___winitenv bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __wenviron bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: ___initenv bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __environ bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: ___wargv bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: ___argv bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: ___argc bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __winminor bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __winmajor bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __winver bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __osver bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __osplatform bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __umaskval bereits in LIBC.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: ___crtExitProcess bereits in libcmt.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __cinit bereits in libcmt.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: _exit bereits in libcmt.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __exit bereits in libcmt.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __cexit bereits in libcmt.lib(crt0dat.obj) definiert
LIBC.lib(crt0dat.obj) : error LNK2005: __c_exit bereits in libcmt.lib(crt0dat.obj) definiert
LINK : warning LNK4098: Standardbibliothek 'LIBC' steht in Konflikt mit anderen Bibliotheken; /NODEFAULT:Bibliothek verwenden
Release/emule.exe : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden

what this is? what I make wrong? :confused:
cyrex2001
user posted image
0

#72 User is offline   Moonlight 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 522
  • Joined: 16-March 03

Posted 01 October 2003 - 08:09 PM

@cyrex2001:
One or more of your libraries was compiled with the Single-Threaded runtime library (LIBC or LIBCD). You must find which one(s) it/they are, change their compile options to use the Multi-Threaded runtime library (MSVCRT or MSVCRTD) and re-compile them.
0

#73 User is offline   cyrex2001 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 148
  • Joined: 28-December 02

Posted 01 October 2003 - 08:15 PM

@Moonlight,
thanks for reply!
where do I have to search there? :confused:
cyrex2001
user posted image
0

#74 User is offline   SlugFiller 

  • The one and only master slug
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 6988
  • Joined: 15-September 02

Posted 01 October 2003 - 09:53 PM

Just go into the properties of each of the libraries' projects, and check in C/C++ - Code Generation - Runtime Library
Why haven't you clicked yet?

SlugFiller rule #1: Unsolicited PMs is the second most efficient method to piss me off.
SlugFiller rule #2: The first most efficient method is unsolicited eMails.
SlugFiller rule #3: If it started in a thread, it should end in the same thread.
SlugFiller rule #4: There is absolutely no reason to perform the same discussion twice in parallel, especially if one side is done via PM.
SlugFiller rule #5: Does it say "Group: Moderators" under my name? No? Then stop telling me about who you want to ban! I really don't care! Go bother a moderator.
SlugFiller rule #6: I can understand English, Hebrew, and a bit of Japanese(standard) and Chinese(mandarin), but if you speak to me in anything but English, do expect to be utterly ignored, at best.
0

#75 User is offline   cyrex2001 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 148
  • Joined: 28-December 02

Posted 01 October 2003 - 10:21 PM

hi SluqFiller,

Quote

Please use this: ed2k://|file|emule-project.rar|7882|AF79B7336C88A3539EAE42B09F666B70|/|sources,82.166.67.216:26498|/
This file includes all the vcproj files other than emule.vcproj(default is okay), and a solution file set to automatically compile all libraries in the proper order.

How to compile with this:
1. Download the eMule sources, and the sources for libpng, id3lib, zlib and cryptlib.
2. Extract them all to the same directory(e.g. "My Programs\eMule"), so they are each in their own directory under the same directory - meaning, the directory that came in the archive of the source(e.g. "My Programs\eMule\src", "My Programs\eMule\id3lib"). If you have a source archive that came without a directory, be sure to create a directory for it rather than putting the files without a directory.
3. Rename the sources directories as follows(those that aren't already by that name, that is): eMule - "src", id3lib - "id3lib", cryptlib - "crypto51", pnglib - "png", zlib - "zlib".
4. Move "Jigle" into "src"(e.g. "My Programs\eMule\Jigle" becomes "My Programs\eMule\src\Jigle")
5. Extract the file linked above to the same directory(e.g. "My Programs\eMule").
6. Open "emule.sln" from "src" with MSVC(or with explorer, if you have MSVC installed and associated with ".sln" files).
7. Hit Ctrl+Shift+B to build the project.

I am exact, followed your instructions and still get this error message!
help me, thanks!
cyrex2001
user posted image
0

#76 User is offline   M.e.D. 

  • Premium Member
  • PipPipPipPipPip
  • Group: Members
  • Posts: 258
  • Joined: 22-August 03

Posted 02 October 2003 - 01:56 AM

thx man... my first complile with OUT problems/warnings/complains :D

gonna try 2003 later :)

M.e.D.
0

#77 User is offline   cyrex2001 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 148
  • Joined: 28-December 02

Posted 02 October 2003 - 07:44 AM

SlugFiller, on Oct 1 2003, 09:53 PM, said:

Just go into the properties of each of the libraries' projects, and check in C/C++ - Code Generation - Runtime Library

the option for the running time libraries is MT. :confused: :cry:
cyrex2001
user posted image
0

#78 User is offline   SlugFiller 

  • The one and only master slug
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 6988
  • Joined: 15-September 02

Posted 02 October 2003 - 08:27 AM

Yes, it will say "Multi-threaded {blah blah} (/MT)". This is for release. Be sure to set "Multi-threaded debug {blah blah} (/MTd)" for debug.

One thing I don't understand, if you downloaded my above file, the vcproj files inside should already have the runtime library set properly. Are you sure you extracted them properly?
Also, check that the LIB configuration of libpng is compiled. The solution should already take care of that, but nothing wrong in double-checking.
Why haven't you clicked yet?

SlugFiller rule #1: Unsolicited PMs is the second most efficient method to piss me off.
SlugFiller rule #2: The first most efficient method is unsolicited eMails.
SlugFiller rule #3: If it started in a thread, it should end in the same thread.
SlugFiller rule #4: There is absolutely no reason to perform the same discussion twice in parallel, especially if one side is done via PM.
SlugFiller rule #5: Does it say "Group: Moderators" under my name? No? Then stop telling me about who you want to ban! I really don't care! Go bother a moderator.
SlugFiller rule #6: I can understand English, Hebrew, and a bit of Japanese(standard) and Chinese(mandarin), but if you speak to me in anything but English, do expect to be utterly ignored, at best.
0

#79 User is offline   cyrex2001 

  • Splendid Member
  • PipPipPipPip
  • Group: Members
  • Posts: 148
  • Joined: 28-December 02

Posted 02 October 2003 - 08:39 AM

hi,
yes, i have overwritten the emule/zlib/png/id3lib/crypto51.vcprj with your project file.
cyrex2001
user posted image
0

#80 User is offline   SlugFiller 

  • The one and only master slug
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 6988
  • Joined: 15-September 02

Posted 02 October 2003 - 09:46 AM

Try a complete rebuild, let all the projects recompile. Maybe that will work. If not, last possibility - see if eMule itself is set to multi-threaded(the package doesn't come with emule.vcproj, because mine is modified - files added).
Why haven't you clicked yet?

SlugFiller rule #1: Unsolicited PMs is the second most efficient method to piss me off.
SlugFiller rule #2: The first most efficient method is unsolicited eMails.
SlugFiller rule #3: If it started in a thread, it should end in the same thread.
SlugFiller rule #4: There is absolutely no reason to perform the same discussion twice in parallel, especially if one side is done via PM.
SlugFiller rule #5: Does it say "Group: Moderators" under my name? No? Then stop telling me about who you want to ban! I really don't care! Go bother a moderator.
SlugFiller rule #6: I can understand English, Hebrew, and a bit of Japanese(standard) and Chinese(mandarin), but if you speak to me in anything but English, do expect to be utterly ignored, at best.
0

  • Member Options

  • (14 Pages)
  • +
  • « First
  • 2
  • 3
  • 4
  • 5
  • 6
  • Last »

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users