469,950 Members | 1,802 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,950 developers. It's quick & easy.

STLPort in VC++ - Compile problems


Platform:window 2000 professional, VC++6.0 +SP5
STLport: STLport 5.0.2

While test STLport following "STLport README for Microsoft Visual C++
compilers." of README.msvc(readme.txt), there is a error:NMAKE: fatal
error U1077: 'cl': return code '0x2'stop.

I can build STLport without any error but a warning, after buiding I
test it, a error is appear.

Can anyone tell me how to reslove this problem??
Whether this problem have a negative effect of using STLport or not???

Thanks a lot.

I am online , and waiting......
+----------------------------------------------------------------+
| Attachment filename: readme.txt |
|Download attachment: http://www.codecomments.com/attachme...postid=2764376 |
+----------------------------------------------------------------+
--
PangFromChina
------------------------------------------------------------------------
Posted via http://www.codecomments.com
------------------------------------------------------------------------

Apr 27 '06 #1
1 6095

First thanks for your help.Thanks a lot!!!!
I build STLport following:

==================================================
STLport README for Microsoft Visual C++ compilers.
==================================================

by: Francois Dumont, du**@stlport.com, last edited 08/02/2005

============
Introduction
============
This document describes how STLport can be compiled and used with Microsoft
Visual C++ 6 SP5. It can also be used for the MSVC++ family.

For any further comments or questsion visit STLport mailing lists
http://stlport.sourceforge.net/Maillists.shtml or forums
https://sourceforge.net/forum/?group_id=146814

=============
Prerequisites
=============
To build and use STLport you will need following tools and libraries:
- Microsoft Visual C++ 6.0 with at least Service Pack 5 or any higher
version.

===================
Configuring STLport
===================
This is an optional step for the MSVC++ compilers, if you don't want to pass
throught it just move to the 'Building STLport' section.

Go to the STLport build/lib folder. Run
configure --help

This command will present you the different available build options. Just
follow
the instructions to set STLport configuration according your needs.

================
Building STLport
================
This is a step by step description of the actions to take in order to have
the STLport library built:

1. Open a console window. You can get it executing cmd or command depending
on your Windows OS.

2. Go to MSVC++ Bin directory with a default MSVC6 install it is
cd "C:\Program Files\Microsoft Visual Studio\VC98\Bin"

3. Run the vcvars32.bat script. This sets the environment variables required
to have the MSVC++ compiler run during the build process. The most important
one is the PATH variable so that you can call the cl.exe command which is the
MSVC++ command line compiler. [You may omit this step, if you chose 'Install
paths
to access command-line tools' during Microsoft Visual Studio installation
procedure.]

4. Go to the STLport build/lib folder:
cd C:\STLport\build\lib

5. Run the following command:
nmake /fnmake-vc6.mak install

nmake is the make utility from Microsoft. /f is an nmake option
telling it which make file script to use. You have of course to grant the
closer make file to your effective compiler.

Once the command returns, you will have all the necessary libraries within
the STLport lib folder. For a description of the generated libraries check
the README
file within the src folder. You can also set special make process options,
you will
find a list of those in the README.options file once again in the build/lib
folder.

===============
Testing STLport
===============
You can use the unit tests to verify STLport behaves correctly. Change into
STLports 'build/test/unit' folder and type:

nmake /fnmake-vc6.mak install

Once the unit test is built you just need to run it. They can be found
within the STLport bin folder.

=============
Using STLport
=============
Adjust your include and link paths in MSVC IDE (in 'Tools -> Options ->
Directories'
for MSVC6 IDE). In the include files add the path to STLport's 'stlport'
folder.
Make sure it is the first directory listed there. Add STLport's 'lib' folder
for
the library files (order of paths doesn't matter here).

Now you should be ready to use STLport.

============
Known issues
============

1. InterlockedIncrement

If you experiment trouble with the InterlockedIncrement Win32 API function
like the following message:

C:\Program Files\Microsoft SDK\Include\.\winbase.h(1392) : error C2733:
second C
linkage of overloaded function 'InterlockedIncrement' not allowed
C:\Program Files\Microsoft SDK\Include\.\winbase.h(1390) : see declaration of
'InterlockedIncrement'

It means that you are using the new Microsoft platform SDK. There is no
way to known it from STLport so you have to signal it in the
stlport/stl_user_config.h file (uncomment _STLP_NEW_PLATFORM_SDK in this
file).

2. Native C/C++ library headers location

If you experiment trouble with location of ctime and other Standard headers
while building or using STLport you might be using the compiler coming with a
platform SDK. If so please uncomment _STLP_USING_PLATFORM_SDK_COMPILER in
stlport/stl_user_config.h. If it still do not find native headers you will
perhaps
need to change native headers relative path used by STLport. In this case use
_STLP_NATIVE_INCLUDE_PATH and associated macro in stlport/stl/_site_config.h.

4. C symbols in std namespace

The MSVC++ 6 has a bug when dealing with C symbols imported within the std
namespace. If you write the following code:

#include <cstdio>

using namespace std;

int main(int, char**) {
int res = abs(-1);
return 0;
}

VC6 will report an ambiguous symbol because it do not know if it has to use
::abs or std::abs even if they are the same function. For this reason
injection of
C symbols in the std namespace has been disable by default. To force it you
have to
define the _STLP_DO_IMPORT_CSTD_FUNCTIONS macro. Doing so you will have to
explicitely
scope all your C functions calls.
================================================== ==================
After step 4,step5 in Building stlport,
I find the library in C:\STLport\lib.
And the library are :stlportstld_static.5.0.lib
stlportstld.5.0.lib
stlportd_static.5.0.lib
stlportd.5.0.lib
stlport_static.5.0.lib
stlport.5.0.lib
I find the dll in C:\STLport\bin
And the dlls are:
stlport.5.0.dll
stlportd.5.0.dll
stlportstld.5.0.dll
So I think STLport have been compiled successfully..

But While I do the following steps in Testing STLport, the following errors
appear:
Show in the picture study.jgp

Whether this problem have a negative effect of using STLport or not???

Thanks a lot!!

May 10 '06 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by Jürgen Devlieghere | last post: by
7 posts views Thread by Gernot Frisch | last post: by
reply views Thread by francois.cppdevs | last post: by
1 post views Thread by Alessandro Monopoli | last post: by
1 post views Thread by Alessandro Monopoli | last post: by
5 posts views Thread by Aman JIANG | last post: by
2 posts views Thread by NvrBst | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.