Hi everybody,

NOW:
OS:WINXP PRO
QT: 4.1.1
Compiler: MINGW 4.1

Bevor:
OS: WINXP
QT: 3.3.4
Compiler: .NET

I have programed in the past a small program that use a dll, h, lib (original from device)
I have not compiled this, its original delivered.

The program works fine on qt3 but not in qt4. If i include this header file i get erros:
Qt Code:
  1. #ifdef __cplusplus
  2. extern "C" {
  3. #endif
  4.  
  5. #define FUNCTION __declspec(dllimport)
  6.  
  7. FUNCTION long __stdcall OpenDevice(long CardAddress);
  8. FUNCTION __stdcall CloseDevice();
  9. FUNCTION long __stdcall ReadAnalogChannel(long Channel);
  10. FUNCTION __stdcall ReadAllAnalog(long *Data1, long *Data2);
  11. FUNCTION __stdcall OutputAnalogChannel(long Channel, long Data);
  12. FUNCTION __stdcall OutputAllAnalog(long Data1, long Data2);
  13. FUNCTION __stdcall ClearAnalogChannel(long Channel);
  14. FUNCTION __stdcall ClearAllAnalog();
  15. FUNCTION __stdcall SetAnalogChannel(long Channel);
  16. FUNCTION __stdcall SetAllAnalog();
  17. FUNCTION __stdcall WriteAllDigital(long Data);
  18. FUNCTION __stdcall ClearDigitalChannel(long Channel);
  19. FUNCTION __stdcall ClearAllDigital();
  20. FUNCTION __stdcall SetDigitalChannel(long Channel);
  21. FUNCTION __stdcall SetAllDigital();
  22. FUNCTION bool __stdcall ReadDigitalChannel(long Channel);
  23. FUNCTION long __stdcall ReadAllDigital();
  24. FUNCTION long __stdcall ReadCounter(long CounterNr);
  25. FUNCTION __stdcall ResetCounter(long CounterNr);
  26. FUNCTION __stdcall SetCounterDebounceTime(long CounterNr, long DebounceTime);
  27.  
  28. #ifdef __cplusplus
  29. }
  30. #endif
To copy to clipboard, switch view to plain text mode 

error:
Qt Code:
  1. In file included from test2.cpp:1:
  2. test2.h:22:7: warning: no newline at end of file
  3. In file included from test2.cpp:2:
  4. K8055d.h:8: error: expected constructor, destructor, or type conversion before '
  5. ;' token
  6. K8055d.h:10: error: expected constructor, destructor, or type conversion before
  7. ';' token
  8. K8055d.h:11: error: expected constructor, destructor, or type conversion before
  9. ';' token
  10. K8055d.h:12: error: expected constructor, destructor, or type conversion before
  11. ';' token
  12. K8055d.h:13: error: expected constructor, destructor, or type conversion before
  13. ';' token
  14. K8055d.h:14: error: expected constructor, destructor, or type conversion before
  15. ';' token
  16. K8055d.h:15: error: expected constructor, destructor, or type conversion before
  17. ';' token
  18. K8055d.h:16: error: expected constructor, destructor, or type conversion before
  19. ';' token
  20. K8055d.h:17: error: expected constructor, destructor, or type conversion before
  21. ';' token
  22. K8055d.h:18: error: expected constructor, destructor, or type conversion before
  23. ';' token
  24. K8055d.h:19: error: expected constructor, destructor, or type conversion before
  25. ';' token
  26. K8055d.h:20: error: expected constructor, destructor, or type conversion before
  27. ';' token
  28. K8055d.h:21: error: expected constructor, destructor, or type conversion before
  29. ';' token
  30. K8055d.h:25: error: expected constructor, destructor, or type conversion before
  31. ';' token
  32. K8055d.h:26: error: expected constructor, destructor, or type conversion before
  33. ';' token
  34. test2.cpp:26:2: warning: no newline at end of file
  35. mingw32-make[1]: *** [tmp\obj\release_shared\test2.o] Error 1
  36. mingw32-make[1]: Leaving directory `D:/apps/Qt/4.1.1/test2'
  37. mingw32-make: *** [release] Error 2
To copy to clipboard, switch view to plain text mode 
I have included the libs like in qt3 .pro file:
Qt Code:
  1. win32:LIBS += K8055D_C.lib
To copy to clipboard, switch view to plain text mode 

So i use the same filosofie to program it in qt4, but why qt4 have a problem with this header file?