Still baffled by compiling
Moderator: Moderators
Still baffled by compiling
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.
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.
Check here and see if this fixes your problem: http://dcplusplus.sourceforge.net/forum ... hp?t=14531
Which part?
I've tried the version of WTL linked to here:
"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.
I've tried the version of WTL linked to here:
as mentioned in my original postWhen 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
"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.
-
- DC++ Contributor
- Posts: 3212
- Joined: 2003-01-07 21:46
- Location: .pa.us
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 likeexpstevie 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?
patch -p1 < c:\here\is\your\patch.diff in the DC668 directory.
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?
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?
-
- DC++ Contributor
- Posts: 3212
- Joined: 2003-01-07 21:46
- Location: .pa.us
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.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
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).
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:Maybe there could be a beginners download file (with the wtl and stlport files already in the DC++ source folders)
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: and also step by step instructions for people like me who had never used VS .NET before?
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:It got a little disheartening that I was trying everything I could think of but still got lots of errors.
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.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.
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...
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?)
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."
-
- DC++ Contributor
- Posts: 3212
- Joined: 2003-01-07 21:46
- Location: .pa.us
It wasn't in mine, but my college experience is almost 10 years old at this point.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?)
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.