www.digitalmars.com         C & C++   DMDScript  

c++.windows.32-bits - BC++ accepts BUT DM C++ compiler reports as errors

reply cdt rediffmail.com writes:
I am new to dm c++ compiler.(purchased CD 15 days back )
Till now I have used Borland C++ and borland c++builderX compiler.
Now planning to switchover to DM C++
But I get following errors.
I am compiling for WIN32 (no ODBC/no MFC )
Can some one help me ?

#include <sqltypes.h>
#include <sql.h>
#include <sqlext.h>

extern  SQLHANDLE   EnvHandle;
extern  SQLHANDLE   ConHandle;
extern  SQLHANDLE   StmtHandle;

------------- compiler messages as follows.

sc BROWMEM.CPP -cpp -Jm -Aa -mn -C -o+time -WA -S -3 -a8 -c -l -gf -DBTI_WIN_32
-DNOMACHINES -DxWIN32 -od:\talam5\BROWMEM.obj 
Error: D:\talam\BTRIEVE.H(5): missing ',' between declaration of 'SQLHANDLE' and
'EnvHandle'
Error: D:\talam\BTRIEVE.H(6): missing ',' between declaration of 'SQLHANDLE' and
'ConHandle'
Error: D:\talam\BTRIEVE.H(7): missing ',' between declaration of 'SQLHANDLE' and
'StmtHandle'
Error: D:\talam\BROWMEM.CPP(26): size of text_info is not known
Fatal Error: D:\talam\BROWMEM.CPP(27): too many errors
Lines Processed: 205425  Errors: 5  Warnings: 0
Build failed
Apr 01 2006
parent reply Walter Bright <newshound digitalmars.com> writes:
cdt rediffmail.com wrote:

 #include <sqltypes.h>
 #include <sql.h>
 #include <sqlext.h>
 
 extern  SQLHANDLE   EnvHandle;
 extern  SQLHANDLE   ConHandle;
 extern  SQLHANDLE   StmtHandle;
 
 ------------- compiler messages as follows.
 
 sc BROWMEM.CPP -cpp -Jm -Aa -mn -C -o+time -WA -S -3 -a8 -c -l -gf -DBTI_WIN_32
 -DNOMACHINES -DxWIN32 -od:\talam5\BROWMEM.obj 
 Error: D:\talam\BTRIEVE.H(5): missing ',' between declaration of 'SQLHANDLE'
and
 'EnvHandle'

Try turning on the macro preprocessor output with -e -l and look at the resulting .lst file.
Apr 01 2006
parent reply cdt rediffmail.com writes:
In article <e0mle7$j66$1 digitaldaemon.com>, Walter Bright says...
Try turning on the macro preprocessor output with -e -l and look at the 
resulting .lst file.

Thank you for prompt reply... For pinpointing I created another source file with just 5 lines of a.cpp source code file and compiled. #include <sql.h> #include <sqlext.h> extern SQLHANDLE EnvHandle; extern SQLHANDLE ConHandle; extern SQLHANDLE StmtHandle; sc a.cpp -cpp -Jm -Aa -mn -C -o+time -D_WINDOWS -S -3 -a8 -c -e -l -gf -DBTI_WIN_32 -DNOMACHINES -DxWIN32 -od:\talam5\a.obj Error: C:\DM\BIN\..\include\win32\SQLTYPES.H(98): missing ',' between declaration of 'HWND' and 'SQLHWND' Error: C:\DM\BIN\..\include\win32\SQLEXT.H(72): ')' expected Error: D:\TALAM\a.cpp(3): missing ',' between declaration of 'SQLHANDLE' and 'EnvHandle' Error: D:\TALAM\a.cpp(4): missing ',' between declaration of 'SQLHANDLE' and 'ConHandle' Fatal Error: D:\TALAM\a.cpp(5): too many errors Lines Processed: 322 Errors: 5 Warnings: 0 Build failed
Apr 01 2006
parent reply Nic Tiger <g_tiger progtech.ru> writes:
cdt rediffmail.com wrote:
 In article <e0mle7$j66$1 digitaldaemon.com>, Walter Bright says...
 Try turning on the macro preprocessor output with -e -l and look at the 
 resulting .lst file.

Thank you for prompt reply... For pinpointing I created another source file with just 5 lines of a.cpp source code file and compiled. #include <sql.h> #include <sqlext.h> extern SQLHANDLE EnvHandle; extern SQLHANDLE ConHandle; extern SQLHANDLE StmtHandle; sc a.cpp -cpp -Jm -Aa -mn -C -o+time -D_WINDOWS -S -3 -a8 -c -e -l -gf -DBTI_WIN_32 -DNOMACHINES -DxWIN32 -od:\talam5\a.obj Error: C:\DM\BIN\..\include\win32\SQLTYPES.H(98): missing ',' between declaration of 'HWND' and 'SQLHWND' Error: C:\DM\BIN\..\include\win32\SQLEXT.H(72): ')' expected Error: D:\TALAM\a.cpp(3): missing ',' between declaration of 'SQLHANDLE' and 'EnvHandle' Error: D:\TALAM\a.cpp(4): missing ',' between declaration of 'SQLHANDLE' and 'ConHandle' Fatal Error: D:\TALAM\a.cpp(5): too many errors Lines Processed: 322 Errors: 5 Warnings: 0 Build failed

at least it uses HWND as if it was defined, but sqltypes.h doesn't include windows.h itself for this purpose just adding #include <windows.h> before #include <sql.h> solved your problem (for me) but I use Win32 Platform SDK 2000(?) year instead of DMC's headers (which are a little old being of 96 year) Nic Tiger
Apr 01 2006
parent reply cdt rediffmail.com writes:
In article <e0nqdc$1nff$1 digitaldaemon.com>, Nic Tiger says...

it seems like sqlext.h expects windows.h to be included BEFORE it
   #include <windows.h>
   #include <sql.h>

of DMC's headers (which are a little old being of 96 year)
Nic Tiger

Thanks M Nic. Added windows.h as well as removed extern word from one statement This is cleared by BC5.5 (2000) compiler Drv-C++ I switched over to DM ( 15-20 days back ) to have latest implementations in compiler technology. (also DM's strenth of speed,size). Dev-C++ is toooo slow for my complex / huge packages. SO sticking to "Win32 Platform SDK 2000" or not using latest DM will be my last alternative. ----------a.cpp-------------- include <windows.h> #include <sql.h> #include <sqlext.h> SQLHANDLE EnvHandle; extern SQLHANDLE ConHandle; extern SQLHANDLE StmtHandle; ------------------------------- sc a.cpp -cpp -Jm -Aa -mn -C -o+time -D_WINDOWS -S -3 -a8 -c -e -l -gf -DBTI_WIN_32 -DNOMACHINES -DxWIN32 -od:\talam5\a.obj Error: D:\TALAM\a.cpp(4): missing decl-specifier-seq for declaration of 'SQLHANDLE' Error: D:\TALAM\a.cpp(5): missing ',' between declaration of 'SQLHANDLE' and 'ConHandle' Error: D:\TALAM\a.cpp(6): missing ',' between declaration of 'SQLHANDLE' and 'StmtHandle' Lines Processed: 125126 Errors: 3 Warnings: 0 Build failed
Apr 02 2006
parent reply Nic Tiger <g_tiger progtech.ru> writes:
cdt rediffmail.com wrote:
 
 Thanks M Nic.
 
 Added windows.h as well as removed extern word from one statement
 This is cleared by BC5.5 (2000) compiler Drv-C++
 I switched over to DM ( 15-20 days back ) to have latest implementations in
 compiler technology. (also DM's strenth of speed,size).
 Dev-C++ is toooo slow for my complex / huge packages.
 SO sticking to "Win32 Platform SDK 2000" or not using latest DM will be my last
 alternative.

I meant that I use DMC *with* newer PSDK header/libs I definitely will not stop using DMC, as it seems best compiler I have ever had (and also it compiles for DOSX which is essential for good real-time apps) :) Intel Compiler 8.1 is also good, but very slow at the same level of optimizations as DMC/ not to mention it costs $450 :)
Apr 02 2006
parent reply cdt rediffmail.com writes:
In article <e0oq7t$2qjr$1 digitaldaemon.com>, Nic Tiger says...
I definitely will not stop using DMC, as it seems best compiler I have ever
had.Intel Compiler 8.1 is also good, but very slow at the same level of 
optimizations as DMC/ not to mention it costs $450 :)

Yes Sir, I 100% agree with you. We are in same boat. Right now I need help for switching over to DM C++; I dont know, where is the problem. If problem is in sql*.h header files then it must have faced by many programmers. So the chances of header file flaw is < 0.0001%. Does DM need additional header files to compile this code clean? ----------a.cpp-------------- include <windows.h> #include <sql.h> #include <sqlext.h> SQLHANDLE EnvHandle; extern SQLHANDLE ConHandle; -------------------------------
Apr 02 2006
parent reply cdt rediffmail.com writes:
UNFORTUNATELY my guess turned out TRUE.

Borland compiler header file  sqltypes.h contains following lines.
Equivalant lines are missing in DM header files.

How come no one reported this earlier? or DM uses different reserve words? 

Header files of next version will have similar lines? 


/* generic data structures */
#if (ODBCVER >= 0x0300)
#if defined(WIN32)
typedef void*					SQLHANDLE;
#else
typedef SQLINTEGER		SQLHANDLE;
#endif	/* defined(WIN32) */
typedef SQLHANDLE               SQLHENV;
typedef SQLHANDLE               SQLHDBC;
typedef SQLHANDLE               SQLHSTMT;
typedef SQLHANDLE               SQLHDESC;
#else
#if defined(WIN32)
typedef void*					SQLHENV;
typedef void*					SQLHDBC;
typedef void*					SQLHSTMT;
#else
typedef SQLINTEGER              SQLHENV;
typedef SQLINTEGER              SQLHDBC;
typedef SQLINTEGER              SQLHSTMT;
#endif  /* defined(WIN32) */
#endif /* ODBCVER >= 0x0300 */
Apr 02 2006
parent reply Nic Tiger <g_tiger progtech.ru> writes:
cdt rediffmail.com wrote:
 UNFORTUNATELY my guess turned out TRUE.
 
 Borland compiler header file  sqltypes.h contains following lines.
 Equivalant lines are missing in DM header files.
 
 How come no one reported this earlier? or DM uses different reserve words? 
 
 Header files of next version will have similar lines? 

Yes, I think this is the problem of MS Win32 Platform SDK in DMC (PSDK ~96), in PSDK ~2000 and in PSDK ~2005 (downloaded last year in April) all have sql.h and sqltype.h without #include <windows.h> This may mean that MS technicians are sure that everyone uses stdafx.h with first line "#include <windows.h>" :) So relax, add this include and proceed porting We can't do anything with MicroSoft :) Nic Tiger
Apr 03 2006
next sibling parent reply cdt rediffmail.com writes:
In article <e0s0th$1n1s$1 digitaldaemon.com>, Nic Tiger says...
This may mean that MS technicians are sure that everyone uses stdafx.h with
>first line "#include <windows.h>" :)
So relax, add this include and proceed porting 
We can't do anything with MicroSoft :)

MS is a problem... BUT ...... Problem is not solved by including windows.h nor by stdafx.h SQLHANDLE error is not solved by these header files. defination of SQLHANDLE is missing from any .h files available with DM folder DM has to act very quickly... its a request from a well-wisher. Evans Data and DevX.com has already published reviews of top 10 IDEs & Compilers. http://nl.internet.com/c.html?rtr=on&s=1,2ca8,1,1ywc,8v9t,kgi0,36tu
Apr 03 2006
parent reply Nic Tiger <g_tiger progtech.ru> writes:
cdt rediffmail.com wrote:
 In article <e0s0th$1n1s$1 digitaldaemon.com>, Nic Tiger says...
 This may mean that MS technicians are sure that everyone uses stdafx.h with
>first line "#include <windows.h>" :)
 So relax, add this include and proceed porting 
 We can't do anything with MicroSoft :)

MS is a problem... BUT ...... Problem is not solved by including windows.h nor by stdafx.h SQLHANDLE error is not solved by these header files. defination of SQLHANDLE is missing from any .h files available with DM folder DM has to act very quickly... its a request from a well-wisher. Evans Data and DevX.com has already published reviews of top 10 IDEs & Compilers. http://nl.internet.com/c.html?rtr=on&s=1,2ca8,1,1ywc,8v9t,kgi0,36tu

(again, they are the same headers that shipped with SC 7.5 in 96), in my newer PSDK SQLHANDLE is defined. try following instruction on http://cmeerw.org/prog/dm/ms_sdk.html to integrate latest PSDK to DMC Nic Tiger
Apr 03 2006
parent reply cdt rediffmail.com writes:
In article <e0su67$2seb$1 digitaldaemon.com>, Nic Tiger says...
It seems that SQLHANDLE is missing in original DMC header files.
>http://cmeerw.org/prog/dm/ms_sdk.html to integrate latest PSDK to DMC

THANK YOU Mr Nic Tiger for the help! I appeciate your help!! I appreciate more, because, you offered a link to the soultion, when you are not from DM core developer team. Do you have more links / tips for me? ( DM C++ related ) I am new to DM & I could not scan online forums for this issue. Mr Walter should have suggested similar solution at first instance. DM C++ compiler is only for windows and not for linux or mac. SQL header files are NOT the property of MS. DM can store these headers and lib/ dll files in a seperate folder. When someone purchses CD from DM, is it his mistake to expect files included in CD ? DM should be more professional. No one will not mind to pay bit more compensation for such professionalism.
Apr 04 2006
parent reply Me <Me_member pathlink.com> writes:
In article <e0t8jk$609$1 digitaldaemon.com>, cdt rediffmail.com says...
In article <e0su67$2seb$1 digitaldaemon.com>, Nic Tiger says...
It seems that SQLHANDLE is missing in original DMC header files.
>http://cmeerw.org/prog/dm/ms_sdk.html to integrate latest PSDK to DMC

THANK YOU Mr Nic Tiger for the help! I appeciate your help!! I appreciate more, because, you offered a link to the soultion, when you are not from DM core developer team. Do you have more links / tips for me? ( DM C++ related ) I am new to DM & I could not scan online forums for this issue. Mr Walter should have suggested similar solution at first instance. DM C++ compiler is only for windows and not for linux or mac. SQL header files are NOT the property of MS. DM can store these headers and lib/ dll files in a seperate folder. When someone purchses CD from DM, is it his mistake to expect files included in CD ? DM should be more professional. No one will not mind to pay bit more compensation for such professionalism.

And what have you done for society? DM is one of the most standard-compliant codes out there as well as having relatively fast compile and execution times. If you want to play with the PSDK, go back to VB.
Apr 05 2006
parent reply cdt rediffmail.com writes:
In article <e11oc3$10l3$1 digitaldaemon.com>, Me says...
 And what have you done for society?
 If you want to play with the PSDK,go back to VB.

Mr 'Me' You are disturbed for DM's limitions .... Attack is not the best defence for this case. Be in my shoes, wou will no where it pinches. Your comments are not appreciated by me and Mr Nic will feel insulted by your request to "go back to VB". Mr Nic Tiger traced solution for me, so, that myself and many others will enjoy DM experience. If you suggest that using PSDK means going towards VB, then let me assure that, C++ developers community will no go to VB, but it will stay away from DM. Suggest any means of compiling 3 lines of code with DM headers and DM compiler. #include <sql.h> #include <sqlext.h> SQLHANDLE EnvHandle; In 17 yrs of C++ experience, and 8-9 yrs with ODBC/SQL usage, I have not come accross such error generated by BC/VC/Intel/watcom compilers. I purchased DM C++ CD, bacause, My client can not afford VS or BC studios. And After handing over the project, source code will be maintained by my client. So, DM came into the scene. Even though DN has standing in market, it is not one of the top 10 compilers appreciated by C++ developers community. And, shifting to VB is not going to improve market share and so DM's recognization. Please refer to Evans Data and DevX.com reviews of top 10 IDEs & C++ Compilers. http://nl.internet.com/c.html?rtr=on&s=1,2ca8,1,1ywc,8v9t,kgi0,36tu What developer has done for the society is irrelevant ... They are paid for development,by thier clients/employers and not paid for struggling for compiling 3 lines codes ( that too with faulty error messages ) No Developer will like to waste his energy & society's resources to trace solution for faulty compiler error messages. Conserving resources & energy is his contribution for the society. -CDTamhankar I have 31 yrs of programming experience, starting from Autocoder, cobol, basic, dBase,Clipper,C, pascal, c++,VB,Java and on varity of hardware like IBM1401, Wang, PDP, VAX etc. I formed SW developing group 18 yrs back. (Eventhough I am a founder of my company, I still, like to call myself as a programmer)
Apr 06 2006
parent Jan Knepper <jan smartsoft.us> writes:
cdt rediffmail.com wrote:
 In article <e11oc3$10l3$1 digitaldaemon.com>, Me says...
 And what have you done for society?
 If you want to play with the PSDK,go back to VB.

Mr 'Me' You are disturbed for DM's limitions .... Attack is not the best defence for this case. Be in my shoes, wou will no where it pinches. Your comments are not appreciated by me and Mr Nic will feel insulted by your request to "go back to VB". Mr Nic Tiger traced solution for me, so, that myself and many others will enjoy DM experience. If you suggest that using PSDK means going towards VB, then let me assure that, C++ developers community will no go to VB, but it will stay away from DM. Suggest any means of compiling 3 lines of code with DM headers and DM compiler. #include <sql.h> #include <sqlext.h> SQLHANDLE EnvHandle; In 17 yrs of C++ experience, and 8-9 yrs with ODBC/SQL usage, I have not come accross such error generated by BC/VC/Intel/watcom compilers. I purchased DM C++ CD, bacause, My client can not afford VS or BC studios. And After handing over the project, source code will be maintained by my client. So, DM came into the scene. Even though DN has standing in market, it is not one of the top 10 compilers appreciated by C++ developers community. And, shifting to VB is not going to improve market share and so DM's recognization. Please refer to Evans Data and DevX.com reviews of top 10 IDEs & C++ Compilers. http://nl.internet.com/c.html?rtr=on&s=1,2ca8,1,1ywc,8v9t,kgi0,36tu What developer has done for the society is irrelevant ... They are paid for development,by thier clients/employers and not paid for struggling for compiling 3 lines codes ( that too with faulty error messages ) No Developer will like to waste his energy & society's resources to trace solution for faulty compiler error messages. Conserving resources & energy is his contribution for the society. -CDTamhankar I have 31 yrs of programming experience, starting from Autocoder, cobol, basic, dBase,Clipper,C, pascal, c++,VB,Java and on varity of hardware like IBM1401, Wang, PDP, VAX etc. I formed SW developing group 18 yrs back. (Eventhough I am a founder of my company, I still, like to call myself as a programmer)

Nice that ID(D)E study... Can anyone tell me how to compile my C/C++ code with Macromedia DreamWeaver MX... ;-) Than things like Code::Blocks www.codeblocks.org, CodeForge www.codeforge.com KDevelop, Ultra Edit Studio www.ultraedit.com, Multi Edit www.multiedit.com, CodeWright and others etc seem to be completely missing. If they want to do a proper study they should include a list of all the ID(D)E's and tell how many people they actually have date from that use them... Better... people that use more than 1 and actually can compare... Jan -- ManiaC++ Jan Knepper But as for me and my household, we shall use Mozilla... www.mozilla.org
Apr 06 2006
prev sibling parent cdt rediffmail.com writes:
In article <e0s0th$1n1s$1 digitaldaemon.com>, Nic Tiger says...
This may mean that MS technicians are sure that everyone uses stdafx.h with
>first line "#include <windows.h>" :)
So relax, add this include and proceed porting 
We can't do anything with MicroSoft :)

MS is a problem... BUT ...... SQLHANDLE error is not solved by windows.h nor by stdafx.h defination of SQLHANDLE is missing from any .h files available with DM folder DM has to act very quickly... its a request from a well-wisher. Evans Data and DevX.com reviewed IDEs & Compilers. http://nl.internet.com/c.html?rtr=on&s=1,2ca8,1,1ywc,8v9t,kgi0,36tu
Apr 03 2006