PDA

View Full Version : StlPort



Unregistered
May 19, 2005, 12:56:41
Can I use the STLPORT v4.6.2 win the class library?
actually I get linking errors 2001 on all std:: function calls in the library when I try to link even the examples in the CD...
How can I get it to link?

Many Thanks

Juri

Stefan Geissler
May 19, 2005, 13:42:31
Hello Juri,

IC Imaging Control is not realy compatible with this STL. But you can try with the right "#ifdefs" to use it. I know, somebody did, but i am not able to relocate the post.

kiske
May 19, 2005, 14:23:18
I searched manually all of the post but I didn't find it.... could you be more specific about the ifdefs?

Thanks again

Juri

Stefan Geissler
May 19, 2005, 15:01:34
Juri,

I am not able to find it too, thus i can not help you correctly. Sorry.

kiske
May 20, 2005, 18:26:53
I have more hints.... I've found that linking a wrapper class in a library (I called it CameraLib) with the STL that comes with VS6 SP5, the ICControl will link just fine. Then I link my project with the STL Port and all works good.
But when the vectors are destroyed (i.e. I call the delete method) I get some heap errors....
I've made a workaround declaring the vectors as class members, and as long I don't destroy the instance of the class all works as aspected, but obviously it's not the best solution....
More specifically I've used the GetAvaibleDevices Method from the grabber to achieve the connected devices, and I keep the vector loaded.... If Anyone can help...

Thanks again

Juri

Stefan Geissler
May 23, 2005, 11:24:31
Hello Juri,

The only heap error messages i know, are:
The errormessage "_CrtIsValidHeapPointer(pUserData)" occurs, if the
application exe file is executed using the wrong DLLs. Please make
sure, that the Debug exe runs with the debug DLLs and the release exe
file runs with the release DLLs.

The release DLLs are located in the standard IC Imaging Control setup
in the "bin" and in the "classlib\release" directory. The debug DLLs
are located in the "classlib\debug" directory.

Where an application is executed ca be determined in the Project
settings.

An application searches for DLLS in the directory where it is executed.
If they are not found there, the search pathes of the operating system
are searched for the DLLs.

Stefan Geissler
May 23, 2005, 11:49:47
Juri,

The problem is also, that the STL and STLPROT use different methods for delete. That occurs the error message.