CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Fluent UDF and Scheme Programming (https://www.cfd-online.com/Forums/fluent-udf/)
-   -   can not include Windows.h and sys/stat.h headers (https://www.cfd-online.com/Forums/fluent-udf/121028-can-not-include-windows-h-sys-stat-h-headers.html)

eromon84 July 19, 2013 09:39

can not include Windows.h and sys/stat.h headers
 
Hi all,

I have made a UDF and I am having numerous errors when I try and use the following headers

#include <Windows.h>
#include <sys/stat.h>

for the windows header fluent gives me huge amount of redifinition errors or
says unexpected '$' in macro definition etc.

for the <sys/stat.h> header I keep getting linker errors for undefined struct stat.

following code is where I use stat to check of a file exists.

int FileExists(const char* filename){
struct __stat64 buf;
stat(filename, &buf);


/* stat(filename, &buf) returns 0 for completion and -1 for fail */
if ( stat(filename, &buf) == -1)
{



/* returns false if file does not exist */
return 0;
}

/* returns true if a file already exists */

return 1;
}

i have tried using struct_stat64 and struct stat but this is still not working.

this piece of code compiles fine on Xcode ( just for testing) and VS2010.

I am using VS2010 Express and installed SDK 7.1. Installed SDK 7.1 first due to failed installation occuring if I tired to install it after VS2010 Express.

also needed the Windows.h file for the Sleep( time in milliseconds ) command . If I file does not exists I needed it to pause for very short time before checking again, did not want the program speeding away and crashing.

EDIT: actual error for the stat problem

Additional_functions.obj : error LNK2019: unresolved external symbol stat referenced in function FileExists
libudf.dll : fatal error LNK1120: 1 unresolved externals

wenjue October 24, 2014 23:07

Did you solve this problem at last? I have the same problem as you did. Could you please help me out?

Alex41 February 6, 2017 11:49

Hello,

Have you figured out how to include <Windows.h> in your code?

Anyone has an idea how to include <Windows.h> in FLUENT UDF?

Kind regards,

Alex

pakk February 7, 2017 05:38

The compiler does not know where to find windows.h. So maybe you can replace
Code:

#include <Windows.h>
by
Code:

#include "c:\correct_folder\Windows.h"
Having said that, I think that for Fluent UDFs it is better to avoid windows.h. Probably it is only necessary for very specialized complex applications. If you don't know how to include windows.h, you will probably not good enough in programming to make those specialized complex applications. With "complex" I don't mean mathematically or physically complex, but that you need to interact with background processes in windows or whatever.

(I am not trying to insult anybody for being a bad programmer: I think I am myself also not good enough to make specialized complex applications that really need windows.h.)


All times are GMT -4. The time now is 05:16.