Error <io.h> not found when compiling copy of BSFN B9600471

pdubbelm

Member
Fellow developers,

I made a copy of BSFN B9600471 in order to make it run both locally and on a server. (I want to find the name of the next flat file in a specified directory). The BSFN runs perfectly when used on a fat client. However, when compiling the BFN on the server (both on an AS/400 and on a NT machine) we get the following error message:

#include <io.h>
========>........a........................................
*=SEVERE=====> a - CZM0296 #include file <io.h> not found.

I searched my spec folders and found out the file io.h does indeed not exist although several BSFN's use this include statement.

Has anyone of you encountered this problem before? I really don't have a clue of how to solve this.

Thanks.

Paul.
 
<io.h> is a Microsoft header, not and ANSI header. If you see this declaration in a BSFN, it means that the business function should be "client-only"

In general, any ANSI-like function that begins with an _ is a Microsoft-only function. E.g. the _findfirst call in B9600471 is NOT and ANSI function. Microsoft-only functions will not build on any server other than NT servers.

I would recommend that you use the ANSI equivalent of all the functions in the B9600471. Use <dir.h> instead of <io.h>. Use findfirst, instead of _findfirst. You can Google for ANSI findfirst to get some links on ANSI C.

If your server complains that it cannot find <dir.h>, make sure the the INCLUDE environment variable refrences the folder where dir.h resides on your server.

Cheers
 
Hello,

We are facing the exact same issue with the copy BSFN and getting an error #include file <io.h> not found.
I had also tried using <dir.h> instead of <io.h>, findfirst instead of _findfirst. and am getting error during BSFN build "cannot find <dir.h>".
Has anyone found a workaround for using this BSFN for Linux server?
Appreciate your help on this.

Tools Release - 9.1.4.3


Regards,
Loveen Mehta
 
Back
Top