Compiling STLPort with VC8

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

Moderator: Moderators

Locked
Cronck
Posts: 8
Joined: 2005-11-28 11:15
Location: Denmark

Compiling STLPort with VC8

Post by Cronck » 2005-11-28 16:11

Everytime i try to compile i get this error:

Code: Select all

C:\STLPort\src>nmake all clean

Microsoft (R) Program Maintenance Utility Version 8.00.50727.42
Copyright (C) Microsoft Corporation.  All rights reserved.

        mkdir ..\\lib\\obj\\VC71\\Release
        cl.exe /nologo /c /Zi /W3 /GR /GX /D "WIN32" /D "_WINDOWS" /I "..\\stlpo
rt" /FI "vc_warning_disable.h" /D "_MBCS" /FD  /D "_STLP_NO_FORCE_INSTANTIATE" /
MT /O2 /DNDEBUG   /Fo"..\\lib\\obj\\VC71\\Release\\" /Fd"..\\lib\\obj\\VC71\\Rel
ease\\" .\dll_main.cpp
cl : Command line warning D9035 : option 'GX' has been deprecated and will be re
moved in a future release
cl : Command line warning D9036 : use 'EHsc' instead of 'GX'
dll_main.cpp
C:\STLPort\stlport\cstdio(46) : error C2757: '__std_alias' : a symbol with this
name already exists and therefore this name cannot be used as a namespace name
C:\STLPort\stlport\cstdio(117) : error C2039: 'vsnprintf' : is not a member of '
std'
C:\STLPort\stlport\cstdio(117) : error C2873: 'vsnprintf' : symbol cannot be use
d in a using-declaration
NMAKE : fatal error U1077: '"C:\Programmer\Microsoft Visual Studio 8\VC\BIN\cl.e
xe"' : return code '0x2'
Stop.


Here's what i do:
1. Run >> cmd
2. Execute VCVars32.bat from Visual Studio
3. Rename "vc71.mak" to "makefile"
4. execute "nmake all clean" in stlports src directory

Cronck
Posts: 8
Joined: 2005-11-28 11:15
Location: Denmark

Post by Cronck » 2005-11-28 16:36

I forgot to mention that i'm using Visual Studio 8, Express 2005.... :-)

Carraya
Posts: 112
Joined: 2004-09-21 11:43

Post by Carraya » 2005-11-28 18:07

you have to realise that the express versions aren't very good at anything really...
<random funny comment>

Cronck
Posts: 8
Joined: 2005-11-28 11:15
Location: Denmark

Post by Cronck » 2005-11-28 19:56

What would you recommend that i use then?
And is it freeware? :)

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

Post by GargoyleMT » 2005-11-28 20:00

Cronck wrote:What would you recommend that i use then?
And is it freeware? :)

Nothing capable of compiling DC++ is freeware. Visual C++ 2003 is $100 and available through http://www.amazon.com.

Cronck
Posts: 8
Joined: 2005-11-28 11:15
Location: Denmark

Post by Cronck » 2005-11-29 00:41

Wow! - Well... I don't have 100$ :-)

I actually managed to compile STL 5.0.0 with the Express...
Just had to run "SetEnv.Cmd" under Platform SDK before compiling

Cronck
Posts: 8
Joined: 2005-11-28 11:15
Location: Denmark

Post by Cronck » 2005-11-29 02:38

I've compiled the 5.0.0 version, and installed....
Now what do i do? :-)

Where am i supposed to put the dll files, and fix that _STL(namespace) problem..?

Carraya
Posts: 112
Joined: 2004-09-21 11:43

Post by Carraya » 2005-11-29 03:03

YOU CAN'T COMPILE DC++ WITH EXPRESS EDITION
<random funny comment>

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

Post by ullner » 2005-11-29 06:46

The client part can (should) be compiled with GCC...

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

Post by GargoyleMT » 2005-11-29 11:48

Cronck wrote:Wow! - Well... I don't have 100$

According to the official MS FAQs, Studio Express doesn't include ATL, which is needed for DC++ and WTL. There was a post on the WTL mailing list about getting Express to compile WTL applications, you might have luck in finding it and following the instructions.

The STLPort that DC++ uses doesn't need to be compiled, presumably you could use the same configuration (or an adapted one) with STLPort 5.0 and not have to compile it either.

PseudonympH
Forum Moderator
Posts: 366
Joined: 2004-03-06 02:46

Post by PseudonympH » 2005-11-29 12:44

ullner wrote:The client part can (should) be compiled with GCC...


However, name mangling is different between compilers, so if you do that it won't be able to link with the UI code.

Locked