Official eMule-Board: Emule And Visual Studio 2010 - Official eMule-Board

Jump to content


  • (2 Pages)
  • +
  • 1
  • 2

Emule And Visual Studio 2010

#1 User is offline   Avi-3k 

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

Posted 20 April 2010 - 09:42 PM

i got a chance to try out the new Visual Studio 2010,
so one of the things i've tested is compiling the latest eMule :)

first of all, eMule 0.50a does compile though it requires some changes:
1. the class CMemDC should be renamed to be compatible with VS2010
(MS added a class named CMemDC in latest MFC)

2. _MSC_VER is set to 1600, _MFC_VER is set to 0x0A00 so
emule_site_config.h and __AfxSocketTerm() should reference them respectively
(btw, some files like qedit.h iirc are not included, but VS2010 uses latest SDK)

3. for some reason, the included libs (id3lib, CxImage & miniupnplib) require to be compiled
with MFC staticly linked (at least this is how it worked for me... not sure why :huh: )
also, crypto++ (v5.6) requires replacing one NULL to nullptr

4. in emule's project properties you need to add MSVCRT.lib to linker > input > ignore specific library
(at least this is how it worked for me...)

this is based on converting the vc8 project files to VS2010 (since i use VS2005 in my usual dev. env.)
if the devs are interested, i can cleanup some stuff and send you the project files as there are changes to the format


btw, a quick review on VS2010 for those who want to know (my opinion, at least):
bloatware cannot desctibe it, so much stuff was added to my add/remove program, god knows why... most of them are required for VS to properly work.
there are some useful changes to C++ (didn't get to see/check them all) but still no Refactoring like in C#.
the most annoying thing of all was the tray popup each time i opened VS that asked me to help improve VS (as if once is not enough) :furious:

Regards,
Avi3k

This post has been edited by Avi-3k: 07 May 2010 - 09:05 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

#2 User is offline   xilolee 

  • EMULE 0.50A USER
  • PipPipPipPipPipPipPip
  • Group: Italian Moderators
  • Posts: 6,322
  • Joined: 20-August 08

Posted 20 April 2010 - 10:12 PM

View PostAvi-3k, on 20 April 2010 - 11:42 PM, said:

4. in emule's project properties you need to add MSVCRT.lib to linker > input > ignore specific library
(at least this is how it worked for me...)


I had to do it also with vs2003, without vista/seven sdks :flowers:
INCONCEIVABLE! - You keep using that word. I do not think it means what you think it means.
italian guides - guide della sezione italiana --- come ottenere aiuto
italian support - sezione italiana --- scaricare la lista server --- i filtri ip
ottenere id alto --- aprire le porte nel router --- recuperare file corrotti
Sembra talco ma non č serve a darti l'allegrIa! Se lo lanci e poi lo respiri ti dā subito l'allegrIa!
0

#3 User is offline   Avi-3k 

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

Posted 23 April 2010 - 08:55 PM

yeah, i know, your post helped me remember what i read on msdn,
thank you :flowers:

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

#4 User is offline   Some Support 

  • Last eMule
  • PipPipPipPipPipPipPip
  • Group: Yes
  • Posts: 3,411
  • Joined: 27-June 03

Posted 23 April 2010 - 09:02 PM

I just can't help but wonder why MS made VS2010 look that ugly. I mean every VS had a new GUI and most of them looked a bit more modern even if it take time to get used too, but that strange blue in VS2010 makes me feel like a timejump back to the days of Win95 and OS/2.

#5 User is offline   Avi-3k 

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

Posted 23 April 2010 - 09:20 PM

View PostSome Support, on 24 April 2010 - 12:02 AM, said:

I just can't help but wonder why MS made VS2010 look that ugly. I mean every VS had a new GUI and most of them looked a bit more modern even if it take time to get used too, but that strange blue in VS2010 makes me feel like a timejump back to the days of Win95 and OS/2.

thanks for pointing out the uglyness, i forgot about that one... (thank god :lol: )

did you compile eMule with VS2010 already?

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

#6 User is offline   xilolee 

  • EMULE 0.50A USER
  • PipPipPipPipPipPipPip
  • Group: Italian Moderators
  • Posts: 6,322
  • Joined: 20-August 08

Posted 23 April 2010 - 09:26 PM

Avi-3k, if you know also how to eliminate those warnings (without hiding them obviously), it would be interesting (at least for me that i'm a newbie) :)
INCONCEIVABLE! - You keep using that word. I do not think it means what you think it means.
italian guides - guide della sezione italiana --- come ottenere aiuto
italian support - sezione italiana --- scaricare la lista server --- i filtri ip
ottenere id alto --- aprire le porte nel router --- recuperare file corrotti
Sembra talco ma non č serve a darti l'allegrIa! Se lo lanci e poi lo respiri ti dā subito l'allegrIa!
0

#7 User is offline   Some Support 

  • Last eMule
  • PipPipPipPipPipPipPip
  • Group: Yes
  • Posts: 3,411
  • Joined: 27-June 03

Posted 24 April 2010 - 07:57 AM

View PostAvi-3k, on 23 April 2010 - 10:20 PM, said:

did you compile eMule with VS2010 already?


No, don't really intend to neither atm.

#8 User is offline   Avi-3k 

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

Posted 25 April 2010 - 09:02 PM

View Postxilolee, on 24 April 2010 - 12:26 AM, said:

Avi-3k, if you know also how to eliminate those warnings (without hiding them obviously), it would be interesting (at least for me that i'm a newbie) :)

warnings aren't an issue, though to eliminate them, the best way is to search
the error/warning/link code (e.g: LNK2005, C2010 etc) in msdn and follow the explanations...

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

#9 User is offline   xilolee 

  • EMULE 0.50A USER
  • PipPipPipPipPipPipPip
  • Group: Italian Moderators
  • Posts: 6,322
  • Joined: 20-August 08

Posted 25 April 2010 - 09:07 PM

In fact, IIRC, the help says: code is exported and then is re-imported (said with words of mine!).
Maybe does it add value (tax on the added value - IVA in italy :D) to the release?

Quote

LNK4049: exported symbol "symbol" also imported - The symbol was both exported from and imported to the program.

LNK4217: locally defined symbol 'symbol' imported in function 'function' - __declspec(dllimport) was specified for a symbol even though the symbol is defined locally. Remove the __declspec modifier to resolve this warning.

symbol is the symbol name that's defined within the image. function is the function that is importing the symbol.


I searched __declspec, but I think it is too much deep in the code for me!

This post has been edited by xilolee: 25 April 2010 - 09:15 PM

INCONCEIVABLE! - You keep using that word. I do not think it means what you think it means.
italian guides - guide della sezione italiana --- come ottenere aiuto
italian support - sezione italiana --- scaricare la lista server --- i filtri ip
ottenere id alto --- aprire le porte nel router --- recuperare file corrotti
Sembra talco ma non č serve a darti l'allegrIa! Se lo lanci e poi lo respiri ti dā subito l'allegrIa!
0

#10 User is offline   netfinity 

  • Master of WARP
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1,599
  • Joined: 23-April 04

Posted 25 April 2010 - 09:16 PM

View PostAvi-3k, on 20 April 2010 - 11:42 PM, said:

3. for some reason, the included libs (id3lib, CxImage & miniupnplib) require to be compiled
with MFC staticly linked (at least this is how it worked for me... not sure why :huh: )
I also had to replace a NULL macro with a nullptr object in cryptolib to make it compile. Has with a new standard feature in the STL libraries to do.

View PostAvi-3k, on 20 April 2010 - 11:42 PM, said:

bloatware cannot desctibe it, so much stuff was added to my add/remove program, god knows why... most of them are required for VS to properly work.
Next to Windows I'm also using Linux, so I'm used to have millions of programs/modules cluttering the system just to run one simple app.

View PostAvi-3k, on 20 April 2010 - 11:42 PM, said:

there are some useful changes to C++ (didn't get to see/check them all) but still no Refactoring like in C#.
Most useful changes I think is when you are using template libraries alot. A lot of candy there, althought I still miss some features from the proposed CPP0X standard that would allow to make some very powerful meta coding. However microsoft claims that the compiler should have been upgraded to generate alot more efficient code than previous releases. Especially in 64bit builds they claimed that you could get as much as upto 30% improvement in some situations.

View PostAvi-3k, on 20 April 2010 - 11:42 PM, said:

the most annoying thing of all was the tray popup each time i opened VS that asked me to help improve VS (as if once is not enough) :furious:
Hmm, don't get that on my Ultimate RTM version. But I think I had it on the beta, when thinking about it.

View PostSome Support, on 23 April 2010 - 11:02 PM, said:

I just can't help but wonder why MS made VS2010 look that ugly. I mean every VS had a new GUI and most of them looked a bit more modern even if it take time to get used too, but that strange blue in VS2010 makes me feel like a timejump back to the days of Win95 and OS/2.
I think they did it to increase the effective workspace, but I concur it looks a bit antiquated.

View Postxilolee, on 23 April 2010 - 11:26 PM, said:

Avi-3k, if you know also how to eliminate those warnings (without hiding them obviously), it would be interesting (at least for me that i'm a newbie) :)
Do, you mean the typecast warnings? I'm quite sure you got them with VS2008 also, atleast did I! You either just ignore them or you either fix the code to use consequent types (which would require getting rid of MFC as a starter) or add the proper static_cast<> operators where appropriate. However if you don't intend to do any modding to a specific piece of code then you're better of just ignoring the warnings unless you know exactly what you are doing. Putting a cast operator at the wrong place can easily crash emule, even if it gets rid of the warning. The thing is that putting a cast operator into C++ code is threated by the compiler as "I know what I'm doing, even if it looks/is stupid".
eMule v0.49c [NetF WARP v0.3a.14] BETA
- Compiled for 32 and 64 bit Windows versions
- Faster file completion via Dynamic Block Requests and dropping of stalling sources
- Faster searching via KAD with equal or reduced overhead
- Less GUI lockups through multi-threaded disk IO operations
- VIP "Payback" queue
- Fakealyzer (helps you chosing the right files)
- Quality Of Service to keep eMule from disturbing VoIP and other important applications (Vista/7 only!)
0

#11 User is offline   Avi-3k 

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

Posted 30 April 2010 - 08:57 PM

View Postnetfinity, on 26 April 2010 - 12:16 AM, said:

View PostAvi-3k, on 20 April 2010 - 11:42 PM, said:

3. for some reason, the included libs (id3lib, CxImage & miniupnplib) require to be compiledwith MFC staticly linked (at least this is how it worked for me... not sure why :huh: )
I also had to replace a NULL macro with a nullptr object in cryptolib to make it compile. Has with a new standard feature in the STL libraries to do.

forgot about that one... thanks netfinity :flowers:


also, after checking some more stuff, i noticed the project settings aren't handled correctly,
i've set the output filename (for libs) and in some cases VS2010 just ignores it :huh:

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

#12 User is offline   bengarchy 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 4
  • Joined: 19-August 07

Posted 04 May 2010 - 05:45 PM

Thanks for the post, wish I'd found it before trying compiling with VS2010 myself! Just one small thing to add:

View PostAvi-3k, on 21 April 2010 - 05:42 AM, said:

2. _MSC_VER is set to 1600, _MFC_VER is set to 0x1000 so
emule_site_config.h and __AfxSocketTerm() should reference them respectively
(btw, some files like qedit.h iirc are not included, but VS2010 uses latest SDK)

_MFC_VER is set to 0x0A00, not 0x1000.

As stated in MSDN Library, right at the bottom of the page:

Quote

_MFC_VER = 0x0A00 in VS 2010

It's incorrectly stated that in VS 2010 _MFC_VER is defined as 0x1000. Upon inspection of afxver.h file _MFC_VER is 0x0A00 as one would expect


#ifndef _MFC_VER
#define _MFC_VER 0x0A00 // Microsoft Foundation Classes version 10.00
#endif

Hope that helps! [=
0

#13 User is offline   Avi-3k 

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

Posted 07 May 2010 - 09:07 PM

thanks bengarchy, though it would've been nice
if MS didn't have that error in the first place :-k
updated first post ;)

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

#14 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1,354
  • Joined: 23-April 04

Posted 08 May 2010 - 06:56 PM

The new documentation of VS 2010 is strange,
is there a way to get an index like in the good old msdn where you just type the name of the function you dont remember the parameters to or class and get directly to what you ware looking for?
Posted Image
NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

#15 User is offline   Avi-3k 

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

Posted 14 May 2010 - 08:54 PM

not sure, i didn't install the msdn, only VS (waste of space, imo)
you could google the function with site:msdn.microsoft.com in the search string, that's whay i usually do ;)

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

#16 User is offline   DavidXanatos 

  • Neo Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1,354
  • Joined: 23-April 04

Posted 17 May 2010 - 09:37 PM

Well... mmh... yea it takes space... cause well it works offline.
And for me thats kinda the point MS could bankrupt tomorrow and I still have all informations I need.

When the world ends and I'm sitting in my bunker while the ww is down for good, i still can user VS and programm, and well than I'll have endless time to use up ;)

I'm just a fan of maximal independence,
and all this cloud/live Cr4p that is flooding the cyberspace is some how of a threat to liberty, you get Dependant on the providers.

They can squise your bals as thay when they want ans when they wan, thats somehow very unpleasant.

I mean sure some stuff cant be offline and thats ok, but this that can be should be.

This post has been edited by DavidXanatos: 17 May 2010 - 09:39 PM

Posted Image
NeoLoader is a new file sharing client, supporting ed2k/eMule, Bittorent and one click hosters,
it is the first client to be able to download form multiple networks the same file.
NL provides the first fully decentralized scalable torrent and DDL keyword search,
it implements an own novel anonymous file sharing network, providing anonymity and deniability to its users,
as well as many other new features.
It is written in C++ with Qt and is available for Windows, Linux and MacOS.
0

#17 User is offline   Avi-3k 

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

Posted 21 May 2010 - 09:34 PM

if you have the space and it's possible, install an older version and the current version of the msdn,
that would solve your problem in a way...

View PostDavidXanatos, on 18 May 2010 - 12:37 AM, said:

When the world ends and I'm sitting in my bunker while the ww is down for good, i still can user VS and programm...

in Israel we never worry about that :P

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

#18 User is offline   arden 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 65
  • Joined: 20-April 03

Posted 26 May 2010 - 01:03 PM

Hey Avi3k,

Any chance of an ed2k link to a precompiled emule package with libs for 2010?

Save us some time in editing/compiling etc.. ;)

Cheers,
arden
0

#19 User is offline   Stulle 

  • [Enter Mod] Dev
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 5,727
  • Joined: 07-April 04

Posted 27 May 2010 - 08:31 AM

yeah... get it here!

honestly, nobody will bother compiling the whole thing with VS10, compress and upload some 500 to 800 MB worth of files!
I am an emule-web.de member and fan! Hate me or people will get suspicious about you! Ever wondered if it's all worth the trouble?

Immagine Postata

No, there will not be a new version of my mods. No, I do not want your PM. No, I am certain, use the board and quit sending PMs. No, I am not kidding, there will not be a new version of my mods just because of YOU asking for it!
-1

#20 User is offline   Avi-3k 

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

Posted 28 May 2010 - 08:49 PM

@arden
like Stulle said, it would be easier for all if you did the steps above yourself

Avi3k

This post has been edited by Avi-3k: 29 May 2010 - 09:01 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

  • Member Options

  • (2 Pages)
  • +
  • 1
  • 2

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