Ticket #312 (new defect)

Opened 15 months ago

Last modified 15 months ago

PacketManipulator msvcrt.dll error on WinXP

Reported by: qsy Owned by: nopper
Priority: low Milestone:
Component: PacketManipulator Version: current svn
Keywords: Cc:

Description

When running PacketManipulator on WinXP, the following error is returned:

"The procedure entry point _ftol2 could not be located in the dynamic link library msvcrt.dll"

Attachments

Change History

Changed 15 months ago by nopper

Ok. Seems strange. I've looked around internet and doesn't seems to be a problem related to PacketManipulator. The problem is caused by the installer that was generated from a windows vista box. Probably it's caused by a library requested by PM as dep. If you could find what is that I could investigate more.

From http://firodj.wordpress.com/2008/07/03/ruby-on-rails-using-native-windows/

The VC 7 compiler uses _ftol2 function for converting floating point to integer number. But the VC 6 library only have _ftol function to do this, so the generated linking error will comes up.

And this is the code to workaround the situation:

#if (_MSC_VER >= 1300) && (WINVER < 0x0500)
// VC7 or later, building with pre-VC7 runtime libraries
#if defined(__cplusplus)
extern "C++" {
#endif
extern long _ftol( double ); // defined by VC6 C libs
extern long _ftol2( double dblSource ) { return _ftol( dblSource ); };
#if defined(__cplusplus)
}
#endif
#endif

Changed 15 months ago by nopper

  • priority changed from medium to low

Changed 15 months ago by qsy

Yes I think you're right. I tried to overwrite a more updated copy of msvcrt.dll in the PacketManipulator folder but it still doesn't work. I pulled it out from C:\Windows\System32.

Changed 15 months ago by getxsick

  • milestone set to Umit 1.0beta3

Changed 15 months ago by getxsick

  • milestone Umit 1.0beta3 deleted

Add/Change #312 (PacketManipulator msvcrt.dll error on WinXP)

Author



Action
as new
 
Note: See TracTickets for help on using tickets.