Still baffled by compiling

Problems compiling? Don't understand the source code? Don't know how to code your feature? Post here.

Moderator: Moderators

Locked
expstevie
Posts: 13
Joined: 2004-07-13 02:25

Still baffled by compiling

Post by expstevie » 2005-01-06 15:11

I've got a trial version of VS .NET 2003 which runs for 60 days & I'm trying to compile the source for DC++ 0.668 without making any amendments to it.
I'm well pi$$ed off that I can't figure this out for myself, even having searched the forums but here's what I've tried & the results I get.

In every minute step :
I've downloaded the soruce and unzipped it to a folder "DC668". This folder automaticallly has all the subfolders such as client, stlport etc.
Downloaded WTL (wtl75_5002.zip from sourceforge's site) and unzipped this into the DC668\wtl folder.
Downloaded STLport (DCPlusPlus-STLPort-4.6.2.zip) and unzipped this into my DC668\stlport folder.
(I've also installed Python)

Double clicked on "DCPlusPlus.sln" in DC668 to load the project/solution and then gone into:
C++ > Additional Include Directories > Project > Properties and inserted "dc668\wtl\include" as the top line. (I'm hoping this satisfies the 'put such and such an include folder BEFORE .net's defaults'). This now reads:
"C:\dc668\wtl\include";"$(SolutionDir)\stlport";"$(SolutionDir)\wtl"
I've changed the build to "release" rather than "debug" mode and then chosen "Build > Build Solution" and got lots of errors...


c:\dc668\windows\WinUtil.cpp(209): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=false
]
c:\dc668\client\NmdcHub.cpp(37): warning C4355: 'this' : used in base member initializer list
c:\dc668\windows\WinUtil.cpp(213): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=false
]
c:\dc668\windows\WinUtil.cpp(215): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=false
]
c:\dc668\windows\WinUtil.cpp(235): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=false
]
c:\dc668\windows\WinUtil.cpp(250): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=false
]
c:\dc668\windows\WinUtil.cpp(259): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=false
]
c:\dc668\windows\WinUtil.cpp(263): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=false
]
c:\dc668\windows\TransferView.cpp(69): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=true
]
c:\dc668\windows\SearchFrm.cpp(867): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=true
]
c:\dc668\windows\SearchFrm.cpp(873): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=true
]
c:\dc668\windows\SearchFrm.cpp(891): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=true
]
c:\dc668\windows\SearchFrm.cpp(906): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=true
]
c:\dc668\windows\HubFrame.cpp(637): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=true
]
c:\dc668\windows\DirectoryListingFrm.cpp(499): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=true
]
c:\dc668\windows\DirectoryListingFrm.cpp(535): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=true
]
c:\dc668\windows\DirectoryListingFrm.cpp(541): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=true
]
c:\dc668\windows\DirectoryListingFrm.cpp(580): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=true
]
c:\dc668\windows\DirectoryListingFrm.cpp(587): error C2668: 'WTL::CMenuT<t_bManaged>::AppendMenuW' : ambiguous call to overloaded function
with
[
t_bManaged=true
]

c:\dc668\wtl\include\atluser.h(318): could be 'BOOL WTL::CMenuT<t_bManaged>::AppendMenuW(UINT,HMENU,LPCTSTR)'
with
[
t_bManaged=true
]
c:\dc668\wtl\include\atluser.h(312): or 'BOOL WTL::CMenuT<t_bManaged>::AppendMenuW(UINT,UINT_PTR,LPCTSTR)'
with
[
t_bManaged=true
]
while trying to match the argument list '(long, int, LPCTSTR)'



I've also tried a different WTL (wtl75_4291.zip) and got the same results (if not more errors - I can't even remember what errors I got. I've been trying all sorts of things in vain!).

Any ideas anyone?
TIA.

ullner
Forum Moderator
Posts: 333
Joined: 2004-09-10 11:00
Contact:

Post by ullner » 2005-01-06 15:17

Check here and see if this fixes your problem: http://dcplusplus.sourceforge.net/forum ... hp?t=14531

expstevie
Posts: 13
Joined: 2004-07-13 02:25

Post by expstevie » 2005-01-06 15:31

Which part?
I've tried the version of WTL linked to here:
When I compile with 7.5.5002, I also get those errors. The previous release for WTL is here: http://prdownloads.sourceforge.net/wtl/wtl75_4291.zip
as mentioned in my original post
"I've also tried a different WTL (wtl75_4291.zip)"

The "patch" is lots of incomprehensible code that I dunno what to do with.
Do I paste it into another existing file (DirectoryListingFrm.cpp)? Save it as a new file and save it in an as yet unknown location? Run/Execute it?

Part of the reason that I laid out my actions in lots of detail is that I'm unfamiliar with EVERYTHING here (sorry! lol. We've all gotta start somehwhere) so explaining something in terms of "see this post" or "use this patch" isn't really clear to me. Nor is bits of "compile.txt" to someone as new to this as me.

GargoyleMT
DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Post by GargoyleMT » 2005-01-06 16:49

expstevie wrote:The "patch" is lots of incomprehensible code that I dunno what to do with.
Do I paste it into another existing file (DirectoryListingFrm.cpp)? Save it as a new file and save it in an as yet unknown location? Run/Execute it?
It is a patch file, generated by GNU Diff. In order to use it, download GNU Patch, put the text into a file, then do something like

patch -p1 < c:\here\is\your\patch.diff in the DC668 directory.

expstevie
Posts: 13
Joined: 2004-07-13 02:25

Post by expstevie » 2005-01-06 20:12

Dear God - it compiled! I'll have to go sit down.

Shockingly for me, I couldn't get any patch program to do the patching for me so I had a closer look at the patch provided
http://dcplusplus.sourceforge.net/forum ... hp?t=14531
and realised that lines prefixed with a minus were replaced by those with a plus (see how sharp I am!?). Anyway, I amended the files by hand and everything worked so now I can go about tinkering with DC++ and creating the "stevie edition" of it.
If I make any useful changes, I'll let you all know.
Also, if anyone else has trouble patching (nah, it'll just be me that's thick) then I can upload or email the patched files (windows/DirectoryListingFrm.cpp etc.)

I still don't think that the standard instructions (e.g. compile.txt) are as easy to follow as they might be but that's another matter. Thanks to everyone for all the help and patience, especially Gargoyle who has informed me in every thread (all 2 of them) that I've posted questions in so far.

Maybe there could be a beginners download file (with the wtl and stlport files already in the DC++ source folders) and also step by step instructions for people like me who had never used VS .NET before? It got a little disheartening that I was trying everything I could think of but still got lots of errors.
If a new user was able to download and unzip one archive with ALL the necessary files and then double click on the "solution" file to launch VS .NET and then just "build", maybe more people would try to get involved and not be put off.

Wotcha think?

GargoyleMT
DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Post by GargoyleMT » 2005-01-06 20:48

expstevie wrote:If I make any useful changes, I'll let you all know.

I still don't think that the standard instructions (e.g. compile.txt) are as easy to follow as they might be but that's another matter
Well, if you want to rewrite the instructions, feel free. There have been changes since the 0.668 release, but only talking about extracting the wtl include directory, instead of the whole zip.

If you make the changes, and can't make a patch, I'll make one and submit it for you (or send it back to you).
expstevie wrote:Maybe there could be a beginners download file (with the wtl and stlport files already in the DC++ source folders)
I don't know if this would be legal - you'd have to check on the licenses of wtl and stlport and make sure they included the right to distribute. Plus, it would add 3mb to the 5mb of DC++ source code...
expstevie wrote: and also step by step instructions for people like me who had never used VS .NET before?
Dunno, VS.NET is a very expensive investment for someone with no coding knowledge. I wouldn't want to encourage this. Plus, programmers are a hearty learning-on-your-own type of person, so...
expstevie wrote:It got a little disheartening that I was trying everything I could think of but still got lots of errors.
Me too. I thought that the instructions in compile.txt and the preprocessor tests for specific STLPort versions were at odds, and were an intelligence test. I was wrong, and I was doing things wrong. Making mistakes is a damn fine way to learn. :)
expstevie wrote:If a new user was able to download and unzip one archive with ALL the necessary files and then double click on the "solution" file to launch VS .NET and then just "build", maybe more people would try to get involved and not be put off.
Sure, but such people can't contribute (initially) useful patches. If they don't have the drive to dive in and learn the internals, even just a bit at a time like Ullner, Naga, and Guitarm are doing, then it's ok if they move on to do other things with their free time.

Don't read too much negativity into the above, they're just pragmatic statements. Personally, I *want* more involvement, but with people who learn mostly on their own, but will ask if they get stuck. There are a lot of them on the DC Development Hub. At the same time, I don't want too many people coming and asking questions that they could find the answers to on their own (since it's fairly well documented, educational, and I figured it out), since that means less time for me to code...

Guitarm
Forum Moderator
Posts: 385
Joined: 2004-01-18 15:38

Post by Guitarm » 2005-01-07 02:31

Yes, I suppose its a bit of a fine line between being curious and asking - and really dive into the code yourself and do some serious tinkering with it.
The general rule is - if it doesn't work - it's your own fault.

I've come to understand that it works a bit like this - If you invest a bit of time and effort into understanding the code (And this is easier if you pick a certain "area" and try to follow that part) - You will be paid back sooner or later. You will start understanding parts of the code.

And this is actually the key thing. I'ts a fine balance between beeing curious yourself (Do some stuff with the code on your own) and beeing stuck (when you really need to ask someone). The reason that ticked my interrest in this project from the start was the actual quality of the whole package (Swedish computer mags writing (praising..) about DC++ for example)

Anyways, this is a great project and a great opportunity to learn stuff that isn't taught in schools (or is it these days?)
"Nothing really happens fast. Everything happens at such a rate that by the time it happens, it all seems normal."

GargoyleMT
DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Post by GargoyleMT » 2005-01-07 11:54

Guitarm wrote:Anyways, this is a great project and a great opportunity to learn stuff that isn't taught in schools (or is it these days?)
It wasn't in mine, but my college experience is almost 10 years old at this point.

If I'd been exposed to this in my education, I wouldn't have been ready for it, but if I'd persisted, I'd be a much better programmer today.

Locked