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

Jump to content


  • (14 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »

Howto Build The Emule Sources (with Vs2002)

#1 User is offline   bluecow 

  • The Merciful
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1,772
  • Joined: 27-December 02

Post icon  Posted 24 June 2003 - 09:05 AM

This post explains how to compile and eMule on VS2002 (7.0) - if you want to compile it on newer VS version you will probably have to apply several changes before it works - check the threads in this forum for howtos

HOWTO Build the eMule sources with Microsoftİ Visual C++ .NET 2002

The sourcecode of eMule is availible as seperate download at:
http://sourceforge.net/projects/emule
You need Microsoftİ Visual C++ .NET 2002 to compile eMule.

-Unzip the sources (with subdirs) into a new folder

Since eMule v0.29b the separate download and compilation of additional libraries is required. These libs are 3rd party and therefore - as usual - not within our distribution.

Note: You will only have to do all of this (the external libraries) once. Which is largely the reason it is worthwhile to do. This way, eMule doesn't have to distribute the source code for these libraries, source code which NEVER changes, with each distribution.

You need the following libs:

1. Crypto++ v5.1
http://www.eskimo.co...i/cryptlib.html

2. zlib v1.1.4
http://www.gzip.org/zlib/

3. id3lib v3.8.3
http://sourceforge.n...rojects/id3lib/

Download and save their sourcecode one level above the eMule source code folder and compile them (check the eMule-project file to learn about the required foldernames, or adapt them to your needs!).


Recommended directory structure
.\eMule\src
.\eMule\zlib
.\eMule\crypto51
.\eMule\id3lib


Building crypto51 library
Copy the crypto51.zip source package into .\eMule\crypto51 directory and extract all files in that directory.

From within Visual Studio use the File/Open/Project menu command to open the VC 6.0 workspace file .\eMule\crypto51\cryptest.dsw. Confirm each message box opened by VS concerning the project file conversion to the current format.

Build at least the cryptlib Debug and the cryptlib Release solution configurations.

If you get (at least) the following files, everything worked fine.
.\eMule\crypto51\debug\cryptlib.lib
.\eMule\crypto51\release\cryptlib.lib


Building the zlib library
Copy the zlib.zip source package into .\eMule\zlib directory and extract all files in that directory.

Create a VS project with the following properties:
Project location: .\eMule\zlib
Name of the project: libz
Type of project: Win32 Project/Static Library
"Precompiled Headers" No (selectable in the project wizard)
"MFC" No (selectable in the project wizard)

Change the "Runtime Library" option to "Multi-threaded Debug (/MTd)" for the Debug solution configuration and to "Multi-threaded (/MT)" for the Release solution configuration.

Add the following files to the project
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

Build the libz Debug and libz Release solution configurations.

If you get (at least) the following two files, everything worked fine.
.\eMule\zlib\debug\libz.lib
.\eMule\zlib\release\libz.lib


Building the id3lib library
Copy the id3lib source package into .\eMule\id3lib directory and extract all files in that directory.

Rename .\eMule\id3lib\config.h.win32 to .\eMule\id3lib\config.h

From within Visual Studio use the File/Open/Project menu command to open the VC 6.0 workspace file .\eMule\id3lib\libprj\id3lib.dsw. Confirm each message box opened by VS concerning the project file conversion to the current format.

Make sure the project options for the id3lib project are:
General Settings:
- Configuration Type: Static Library (.lib)
- Use of MFC: Use Standard Windows Libraries
C/C++ / Code Generation:
- Runtime Library: Multi-threaded Debug (/MTd) ... for the Debug build configuration
- Runtime Library: Multi-threaded (/MT) ... for the Release build configuration

Build the id3lib Debug and id3lib Release solution configurations.


Building eMule
The distributed eMule project file expects to find the libraries and header files in the following sub directories of the .\eMule directory.

Header files
.\crypto51
.\zlib
.\id3lib\include

Library files
.\crypto51\debug\cryptlib.lib
.\crypto51\release\cryptlib.lib
.\zlib\debug\libz.lib
.\zlib\release\libz.lib
.\id3lib\libprj\id3lib.lib
.\id3lib\libprj\id3libD.lib

If you don't want to use the (above noted) recommended directory structure, you have to specify the according include directories and input libraries explicitly in the project settings for C/C++ and Linker in the eMule project properties.

-Open the emule.sln Visual Studio Solution

-If you get an error message like "wrong version of Visual C++", you have to open emule.sln and emule.vcroj with an editor and change some values:

emule.sln: "...Format Version 8.00" to 7.00 if you use Microsoftİ Visual C++ .NET 2002
emule.vcproj: Version="7.10" to 7.00 if you use Microsoftİ Visual C++ .NET 2002

-Select "Release" or "Debug" build in the solution configuration manager
-Build the solution.
-If the compile was successful, the emule.exe is either in the .\eMule\src\Debug or .\eMule\src\Release directory
-When you build a debug dump version, you need the latest dbghelp.dll from Microsoft to run the app

-IMPORTANT:
If you make modifications to eMule and you distribute the compiled version of your build, be sure to obey the GPL license. You have to include the sourcecode, or make it availible for download together with the binary version.

Warning: I will keep this thread open for discussion.. But most likely will update the main post periodically with the good information and corrections and delete the added posts to keep this thread clean. (cit. Unknown1) :)

This post has been edited by Some Support: 06 May 2005 - 02:17 PM

0

#2 User is offline   Avi-3k 

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

Post icon  Posted 26 June 2003 - 03:34 PM

i made a mini guide 2 fix problems in Crypto++,
it is 4 VS.Net 2003!

u can check it out here.

if u need more 4 VS.Net 2003,
post ur msgs there...

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

#3 User is offline   Pinguino 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 1
  • Joined: 02-July 03

Posted 02 July 2003 - 08:32 PM

@zaxxar

Same problem here...

----updated

grabbed this from another thread... thanks VQB :clap:

ed2k://|file|zlib.ace|157654|2EDF31A462C28B3C8C07B8A5292EE106|/|sources,12.203.22.14:8754|/
(includes source plus VS 2002 debug and release builds for .lib)

ed2k://|file|crypto51.ace|18956025|7EB77995C5381B7EB78F276FC39701E3|/|sources,12.203.22.14:8754|/
(includes source plus VS 2002 debug and release builds for .lib)

just dl the zlib (crypto51 is compiled ok, no need to dl) and replace in your emule dir... rebuild... works! :+1:

This post has been edited by Pinguino: 02 July 2003 - 09:10 PM

0

#4 User is offline   bugreport9999 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 5
  • Joined: 15-June 03

Post icon  Posted 08 July 2003 - 04:49 AM

Lets make this addon/correction as simple as possible:

Building the zlib library
Copy the zlib.zip source package into .\eMule\zlib directory and extract all files in that directory.

1. Create a VS project with the following properties:
Project location: .\eMule\zlib
Name of the project: libz
Type of project: Win32 Project

2. When a wizared is opened go to "Application Settings" under "Overview"
(left panel) and check the following:
"Application Type" - Static Library
And uncheck the following:
"Additional Options" - "Precompiled Headers"
"Add Support For" - "MFC"


3. Add the following files to the project,
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

do this by "File" => "Add Existing Items", enter .\eMule\zlib and paste:
"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"

4. Change the "Runtime Library" option to "Multi-threaded Debug (/MTd)" for the Debug solution configuration and to "Multi-threaded (/MT)" for the Release solution configuration.
This is triky so lets do it simply:
A. right click the "zlib" entry in "sullotion explorer" and click "properties".
For Debug:
A. run throu the combo box labeled "Configuration:" in the upper left cornor and
chose Debug.
B. enter "Configuration Properties" => "C/C++" => "Command Line".
C. enter "/MTd" in Additional Options.
D. Press Apply.
For Release:
A. run throu the combo box labeled "Configuration:" in the upper left cornor and
chose Release.
B. enter "Configuration Properties" => "C/C++" => "Command Line".
C. enter "/MT" in Additional Options.
D. Press Apply.

Press OK.

5. Build the libz Debug and libz Release solution configurations.
this is done by:
For Debug:
A. Build => "configuration manager"
B. their chose "Debug" in "active sullotion configuratons"
C. press close
D. Build => Build Sullotion
For Release:
A. Build => "configuration manager"
B. their chose "Release" in "active sullotion configuratons"
C. press close
D. Build => Build Sullotion

If you get (at least) the following two files, everything worked fine.
.\eMule\zlib\debug\libz.lib
.\eMule\zlib\release\libz.lib

Got it ?

Thank ShareOnBrothers! for endless pations to newbees (being one himself, that is)
:D

This post has been edited by bugreport9999: 08 July 2003 - 04:50 AM

0

#5 User is offline   ILLtis 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 1
  • Joined: 27-July 03

Posted 27 July 2003 - 09:25 AM

Hello,

I recently tried compiling eMule 0.29c and had problems creating the libz.lib libraries with VS2003. I solved it pretty easy (I even wonder why nobody else had that idea :rolleyes:)

Until version 0.29a (thx mcgoo ;-) zlib was part of the eMule sources. So download eMule 0.29a from the sourceforge page and extract the zlib directory to your eMule 0.29c directory. You should have the following directory structure before you can compile:

.\eMule\crypto51
.\eMule\src
.\eMule\zlib

In the .\eMule\zlib directory you can find a working vcproj (Visual C++ project file) file. Just open it (doubleclick), accept the message that this project has to be converted to the newer VS2003 version and simply compile it (well, after saving a solution file ;-).

I hope this information is useful to someone ... at least it worked for me without any problems :clap:

Cheers :+1:
0

#6 User is offline   Avi 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1,460
  • Joined: 11-September 02

Posted 17 August 2003 - 12:32 PM

Why is only Visual Studio 2002 recommended? (what about 2003?) :huh:
0

#7 User is offline   SlugFiller 

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

Posted 17 August 2003 - 10:10 PM

Don't want to complain, but instead of all the "do it yourself" can't you provide us the project files(.vcproj) where missing? I'm assuming you have ones already made, and they're less than a 20k at the largest. So why not provide a directorized project package which we can extract to our development directories? Then we just have to extract the projects themselves where the project files are.
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

#8 User is offline   RiESENHiRNi 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 76
  • Joined: 18-September 02

Posted 18 August 2003 - 12:36 PM

i have a problem compiling emule30a.

have step by step completed the howto, but something goes wrong.
my english isnt very well and i think i have one thing not understood.
here the error report of vs:

Kompilieren...
Scanner.cpp
Ressourcen werden kompiliert...
Verknüpfen...
libcpmt.lib(xmutex.obj) : error LNK2005: "public: void __thiscall std::_Mutex::_Lock(void)" (?_Lock@_Mutex@std@@QAEXXZ) bereits in id3lib.lib(tag_file.obj) definiert
libcpmt.lib(xmutex.obj) : error LNK2005: "public: void __thiscall std::_Mutex::_Unlock(void)" (?_Unlock@_Mutex@std@@QAEXXZ) bereits in id3lib.lib(tag_file.obj) definiert
libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) bereits in id3lib.lib(utils.obj) definiert
libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) bereits in id3lib.lib(utils.obj) definiert
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


there is the problem/error, what have i done wrong?
thx for any help

This post has been edited by RiESENHiRNi: 18 August 2003 - 12:36 PM

0

#9 User is offline   bluecow 

  • The Merciful
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1,772
  • Joined: 27-December 02

Posted 18 August 2003 - 12:54 PM

You compiled with the wrong runtime library..

Quote

Building the id3lib library
...
Change the project options for the id3lib project to:
General Settings:
- Configuration Type: Static Library (.lib)
- Use of MFC: Use Standard Windows Libraries
C/C++ / Code Generation:
- Runtime Library: Multi-threaded Debug (/MTd) ... for the Debug build configuration
- Runtime Library: Multi-threaded (/MT) ... for the Release build configuration

0

#10 User is offline   RiESENHiRNi 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 76
  • Joined: 18-September 02

Posted 18 August 2003 - 01:09 PM

thx bluecow, i have forgotten the:

C/C++ / Code Generation:
- Runtime Library: Multi-threaded Debug (/MTd) ... for the Debug build configuration
- Runtime Library: Multi-threaded (/MT) ... for the Release build configuration

now it works fine and compiles with no errors! :)
0

#11 User is offline   xMule 

  • Member
  • PipPip
  • Group: Members
  • Posts: 34
  • Joined: 22-July 03

Post icon  Posted 18 August 2003 - 05:24 PM

SlugFiller, on Aug 17 2003, 10:10 PM, said:

Don't want to complain, but instead of all the "do it yourself" can't you provide us the project files(.vcproj) where missing? I'm assuming you have ones already made, and they're less than a 20k at the largest. So why not provide a directorized project package which we can extract to our development directories? Then we just have to extract the projects themselves where the project files are.

I second that request !
Because it's almost more difficult to just build the original version than to understand its code and make a mod. ;)

OK, I managed to compile it, thanks to this thread. And, once it's done, it doesn't have to be done again. But it's not obvious for people who start "modding".

This post has been edited by xMule: 18 August 2003 - 05:47 PM

0

#12 User is offline   drLSD 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 744
  • Joined: 10-October 02

Posted 19 August 2003 - 03:17 AM

id3lib:
in vs 2003, you need execute this bat makewin32.bat for generate config.h
because with rename config.h.win32.in can't compile lib generate errors.

also this is correct, because without this gets erros on emule linking
C/C++ / Code Generation:
- Runtime Library: Multi-threaded Debug (/MTd) ... for the Debug build configuration
- Runtime Library: Multi-threaded (/MT) ... for the Release build configuration

PD: release lib, is 2mb compared with 170kb of binaries files.

after this emule goes good and not need .dll in same dir.

thnks
0

#13 User is offline   Avi-3k 

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

Posted 19 August 2003 - 12:24 PM

drLSD, on Aug 19 2003, 06:17 AM, said:

id3lib:
in vs 2003, you need execute this bat makewin32.bat for generate config.h
because with rename config.h.win32.in can't compile lib generate errors.

@drLSD
i'm sure u meant config.h.win32 (and not config.h.win32.in)

anyhow, i had problems with id3lib,
and have a solution....
ID3lib fixes 4 VS.Net 2002/3

Avi3k

p.s: don't leave moddin'!!!
stay, but release less versions!!!
get a vacation and work less on eMule....
(ur mod is one of the bests out there!!!
ppl will suffer if u leave now!!!)

This post has been edited by Avi-3k: 19 August 2003 - 01:09 PM

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

#14 User is offline   drLSD 

  • Golden eMule
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 744
  • Joined: 10-October 02

Posted 19 August 2003 - 01:26 PM

Avi-3k, is ok, is a despiste for my part

config.h.win32 ok

but receive 19 warnings on compile.
0

#15 User is offline   Avi-3k 

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

Posted 19 August 2003 - 01:32 PM

@drLSD
that's cool
i had ~19 warning too....
as long as eMule is stable and there aren't any errors, everything is ok!!!
(my compiled ver. is workin' ok since this morning at ~8:00am
and it's now afternoon in israel - ~4:30pm)

Avi3k

p.s: did u change ur mind?? (will u stay and mod??)

This post has been edited by Avi-3k: 19 August 2003 - 01:33 PM

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

#16 User is offline   drorsdd 

  • -=??LSD-subforum??=-
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 447
  • Joined: 21-November 02

Posted 20 August 2003 - 10:25 PM

hi all, after reading this thread and avi_3k's i still dont know how to overcome this errors:
emule fatal error LNK1120: 1 unresolved externals
emule error LNK2001: unresolved external symbol "struct _iobuf * __cdecl std::_Fiopen(char const *,int)" (?_Fiopen@std@@YAPAU_iobuf@@PBDH@Z)


this errors are after i try to build emue.sln
i did build zlib. sln,cryptlib.sln, id3lib.sln and all came out fine with no errors.
im on VS..NET 7.1
and win2k.

thnks.

edit: figured this out , ignore post!

This post has been edited by drorsdd: 20 August 2003 - 11:27 PM

<a href='http://earth.prohosting.com/drorsdd/' target='_blank' >**My eMule Info Page1**</a>
<a href='http://www.angelfire.com/ex/emule-land/' target='_blank' >**My eMule Info Page2**</a>
<a href='http://www.angelfire.com/ex/emule-land/eMule_drorsdd_WebTmpl_v01.zip' target='_blank'>**eMule_drorsdd_WebTmpl_v0.1**</a>
webtmpl sample images [1] [2]
0

#17 User is offline   Butterblume 

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

Posted 22 August 2003 - 02:58 PM

I have another strange problem, too.

I followed bluecow's advises with

"Make sure the project options for the id3lib project are:
General Settings:
- Configuration Type: Static Library (.lib)
- Use of MFC: Use Standard Windows Libraries
C/C++ / Code Generation:
- Runtime Library: Multi-threaded Debug (/MTd) ... for the Debug build configuration
- Runtime Library: Multi-threaded (/MT) ... for the Release build configuration

Build the id3lib Debug and id3lib Release solution configurations."


so I got the compiled lib's for the release and the debug.

But all a can do now is compiling the debug version of emule. As soon as I try to compile the release version, I always get the same errors that RiESENHiRNi got:

Verknüpfen...
libcpmt.lib(xmutex.obj) : error LNK2005: "public: void __thiscall std::_Mutex::_Lock(void)" (?_Lock@_Mutex@std@@QAEXXZ) bereits in id3lib.lib(tag_file.obj) definiert
libcpmt.lib(xmutex.obj) : error LNK2005: "public: void __thiscall std::_Mutex::_Unlock(void)" (?_Unlock@_Mutex@std@@QAEXXZ) bereits in id3lib.lib(tag_file.obj) definiert
libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) bereits in id3lib.lib(utils.obj) definiert
libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) bereits in id3lib.lib(utils.obj) definiert
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

etc. etc. etc.


I compiled many times the id3lib lib's as descibed in bluecow's howto, but I cannot compile the release version of emule - only the debug version! :cry2:

Does anybody has an idea of what I'm doing wrong?

This post has been edited by Butterblume: 22 August 2003 - 03:01 PM

0

#18 User is offline   Avi-3k 

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

Posted 22 August 2003 - 03:07 PM

@Butterblume
after u compile id3lib, have u deleted the release
folder within the id3prj folder?

if u did, recompile id3lib but save this folder,
then try 2 compile eMule!!!

btw, what VS.Net r u usin'?
(if u still have problems....)

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

#19 User is offline   Butterblume 

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

Posted 22 August 2003 - 03:21 PM

@Avi-3k

I haven't deleted neither the release folder nor the debug folder. I just compiled both versions of id3lib (debug and release) and that's it. I left all made files as they came out from VS.

btw: VS2002

This post has been edited by Butterblume: 22 August 2003 - 03:22 PM

0

#20 User is offline   Avi-3k 

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

Posted 22 August 2003 - 03:33 PM

@Butterblume
i can't help u much, cuz i'm usin' VS.Net 2003...

u can try usin' my id3lib from my mod dl site
http://sourceforge.n...?group_id=85087
(it's made 4 VS.Net 2003, but i think it'll work with 2002...
just change the project ver. to 7.0 instead of 7.1!!)

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

  • Member Options

  • (14 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »

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