470,626 Members | 2,153 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

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

Getting MSVC to compile proper unix stuff, like hash_map, fts.h, dirent.h

I've been developing some Unix based shell tools.

They work fine on Linux and MacOSX.

I want to compile them on Win32. But I can't get hash_map to compile. I
tried downloading stl (and stlport) which is supposed to work in MSVC,
but it doesn't, it just generates tons of errors for stuff that used to
work just fine.

Where do I get fts.h to compile and dirent.h compile?

Is there some kind of Unix-like library or wrapper for Windows? Or must
I port all of that code to win32 code?

Or am I just asking a silly question? Is it too much to ask to get
stuff like dirent.h?

I guess I was just assuming, that seeing as stuff like fopen works just
the same on Windows as it does on Unix, that fts.h should work the
same. Was that a very bad assumption?

May 10 '06 #1
9 3965
Whats wrong in using hash_map that comes with VC? In VS2003/VS2005 this
has moved from std to stdext namespace:

http://msdn.microsoft.com/library/de...tNamespace.asp

---
Ajay

May 10 '06 #2
Well, I didn't know they existed. I compiled the Unix code that shoudl
have compiled, but MSVC didn't recognise the hashmap include, so I
guessed it doesn't exist.

May 10 '06 #3
I'm using MSVC v6, and I don't see any std or stdext folder in my
includes folder.

What's the exact #include line I should use?

May 10 '06 #4
<co**********@hotmail.com> wrote in message
news:11**********************@v46g2000cwv.googlegr oups.com...
I'm using MSVC v6, and I don't see any std or stdext folder in my
includes folder.

What's the exact #include line I should use?


That version doesn't have hash_map. You can license our upgrade
library, which works fine with V6 and include hash_map/set. Or
you can get STLport for free. I believe the "formal" release
version available at their web site installs easily enough with
V6. The newer version that you get from sourceforge may be a
bit trickier, but it is newer.

HTH,

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
May 10 '06 #5
stdext is for VS2003 and VS2005(as I had mentioned). If you are using
VC6 w/hash_map, you will probaly either get Dinkumware's STL version
for that compiler or go with STLPORT as you were doing.

---
Ajay

May 10 '06 #6
stlport doesn't work though.

I tried installing it, and it just gives a million errors.

I put it into an stlport directory, added the stlport directory to
MSVC's include directories, and it just gave a million errors. It was
worse than without having stlport.

Also, the instructions for install aren't very good. Do you need to
compile it or not? I'd imagine that if it stlport were made properly,
then you wouldn't need to compile.

May 10 '06 #7
I have been using VS2005 and subsequently dont use STLPort. It worked
fine for us in VC6. It does not need any compilation as its nothing but
collection of template classes.

---
Ajay

May 10 '06 #8
<co**********@hotmail.com> wrote in message
news:11**********************@v46g2000cwv.googlegr oups.com...
stlport doesn't work though.

I tried installing it, and it just gives a million errors.

I put it into an stlport directory, added the stlport directory to
MSVC's include directories, and it just gave a million errors. It was
worse than without having stlport.

Also, the instructions for install aren't very good. Do you need to
compile it or not? I'd imagine that if it stlport were made properly,
then you wouldn't need to compile.


Some people have made it work, IME, which is why I felt obliged
to recommend it. But if you want something that works out of the
box, and comes with support...

Depends on what your time is worth.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
May 10 '06 #9
"Ajay Kalra" <aj*******@yahoo.com> wrote in message
news:11**********************@j73g2000cwa.googlegr oups.com...
I have been using VS2005 and subsequently dont use STLPort.
Right. STLport is inferior to the library shipped with VC++ from
V7 (.NET) onward.
It worked
fine for us in VC6. It does not need any compilation as its nothing but
collection of template classes.


That's one way to use it. But if you want its version of iostreams,
etc. you have to build a binary library.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
May 10 '06 #10

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

9 posts views Thread by Syver Enstad | last post: by
3 posts views Thread by Mark | last post: by
19 posts views Thread by Martin Pohlack | last post: by
1 post views Thread by graham.rick | last post: by
1 post views Thread by joseysaac | last post: by
2 posts views Thread by BruceWho | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.