Archived
This forum has been archived. Please start a new discussion on GitHub.
ice without STLPORT?
Hi.
I'm in a bit of a dilemma here. I _need_ ICE to work on MSVC++ 6.0, without STLPORT.
We have our own internal modifications to get by the broken STL implementation on VC++6 and that is clashing with STLPORT.
How much work would it be to go through the ICE code and pull out all references to STLPORT and place ours in.
I apologize if this is a dumb question. Just looking to see if you guys think its even logical to do
abhay
I'm in a bit of a dilemma here. I _need_ ICE to work on MSVC++ 6.0, without STLPORT.
We have our own internal modifications to get by the broken STL implementation on VC++6 and that is clashing with STLPORT.
How much work would it be to go through the ICE code and pull out all references to STLPORT and place ours in.
I apologize if this is a dumb question. Just looking to see if you guys think its even logical to do
abhay
0
Comments
-
Hi,
I believe the only change you'd need to make would be to disable the following code in include/IceUtil/Config.h:// // If we use Visual C++ 6.0, we must use STLport // #if defined(_MSC_VER) && (_MSC_VER < 1300) && !defined(_STLP_BEGIN_NAMESPACE) # error "Ice for Visual C++ 6.0 requires STLport" #endif
Give it a try and see what happens.
Good luck,
- Mark0 -
and this is what i get ..
C:/Ice-3.0.0-VC60/include\IceUtil/Mutex.h(141) : error C2065: 'TryEnterCriticalSection' : undeclared identifier
tracing back, shouldn't this be picked up automatically by WINDOWS.h and WINBASE.h..
am i doing somethign wrong?
abhay0 -
Which operating system are you using?
- Mark0 -
sigh
Using NT, well, I gave this to the compiler as an option
CPPFLAGS += /D_WIN32_WINNT=0x0400
and that solves the compile error, but i guess our implementation of some of the STL leaves a lot to be resolved, I get a lot of linking errors..
Templates.obj : error LNK2001: unresolved external symbol "public: void __thiscall IceProxy::Demo::Printer::printStringArray(class s
td::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::b
QAEXABV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?
$allocator@D@2@@2@@Z)
TestICE.obj : error LNK2001: unresolved external symbol "public: void __thiscall IceProxy::Demo::Printer::printStringArray(class std
::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::bas
ic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &)" (?printStringArray@Printer@Demo@IceProxy@@QA
EXABV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$a
llocator@D@2@@2@@Z)
yeah, so can't really handle basic_string
arggh. works wonderfully on Linux, and sadly can't use it on MSVC++ 6.0, which is needed by us..
thanks a ton for the help!
abhay0