Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » Errors compiling ProfUIS 2.26 with MS VC 6.0 Collapse All
Subject Author Date
Christophe Guibert Nov 15, 2004 - 1:55 PM

Dear Sir,


Compiling current ProfUIS 2.26 libraries causes 5 compilation errors with Visual C++ 6.0 sp6 :


--------------------Configuration: profuislib - Win32 Static MBCS Debug--------------------
Compiling...
ExtCmdManager.cpp
c:\program files\microsoft visual studio\vc98\include\transact.h(226) : error C2059: syntax error : ’constant’
c:\program files\microsoft visual studio\vc98\include\transact.h(271) : error C2143: syntax error : missing ’;’ before ’}’
c:\program files\microsoft visual studio\vc98\include\oledb.h(17149) : error C2143: syntax error : missing ’;’ before ’}’
c:\program files\microsoft visual studio\vc98\include\oledb.h(17149) : error C2143: syntax error : missing ’;’ before ’}’
c:\program files\microsoft visual studio\vc98\include\oledb.h(17149) : error C2143: syntax error : missing ’;’ before ’}’
   Prof-UIS is automatically linking with version.lib
      (Version info support)
Error executing cl.exe.


ProfUIS226smd.lib - 5 error(s), 0 warning(s)


Other builds (DLL, release...) give the same errors.


Note : An older 2.26 download (October 19th, without the latest patch) gives no error.


Could you give me a hint please ?


Best Regards,


Christophe Guibert


 

Technical Support Nov 16, 2004 - 5:16 AM

Dear Christophe,

We have carefully tested Prof-UIS 2.26 with Visual Studio 6.0 (VS 6.0, VS 6.0 SP5, and VS 6.0 SP6). Many of our users use Visual Studio 6.0 and Service Pack 6. Nobody reported this problem before. So, we assume the compilation error is caused by some other Visual Studio update like Platform SDK. If you have Platform SDK installed, let us know. Please also provided us with a list of include directories in your Visual Studio 6.0 (menu Tools/Options, Directories tab).

Christophe Guibert Nov 17, 2004 - 3:23 AM

Dear Sir,

 

Good guess : I effectively use the platform SDK (February 2003).

If I remove it (the include / bin / lib paths), ProfUIS is correctly compiled but my program won’t benefit of the latest platform SDK.

 

Here are the include paths, as set by the SDK installation program, and for which the compilation fails :

C:\MicrosoftSDK\include

C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE

C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE

C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE

Z:\ProfUIS\include

 

If I move "C:\MicrosoftSDK\include" after C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE the compilation is OK, but it seems highly dangerous since there are hundreds of include files with names conflicts between the SDK and Visual C++ files...

 

So the questions are : am I authorized to do that ? What can I do ?

 

Do you have any idea ?

 

Best Regards,

 


Christophe Guibert,
Web Idea Tree, content manager and web site builder software.
www.webideatree.com

Technical Support Nov 17, 2004 - 3:54 AM

You are using Platform SDK which has been primarily created for Visual Studio .NET.

MFC 4.2, which is distributed with Visual Studio 6.0, was compiled with older Win32 header files. This fact explains the problem. We designed Prof-UIS to be compatible with all versions of Visual C++ and with all versions of Windows (starting from version 4.0 (95 or NT)). You probably noticed that all projects have the following preprocessor symbol definitions:

_WIN32_WINNT=0x0400
_WIN32_IE=0x0400
These symbols make the compiler/linker use the Win32 features that are available exactly in Windows 95 or Windows NT 4.0. We also use later Windows API but the Prof-UIS source code detects these DLLs and their exported functions dynamically. In our opinion, there are no significant features added by Microsoft to their Win32/GDI APIs in the Windows OSes with versions greater than 4.0 (since the release of Windows NT 4.0 in 1996).

You have changed the priority of the Platform SDK paths under the Directories tab. It is not dangerous but you will probably have no access to some features defined in new SDK headers because your source code will "see" the older versions of these features. You may try to use Platform SDK until you encounter difficulties. Anytime you may split your project into several DLLs or COM servers/clients and resolve any compilation conflicts.

Christophe Guibert Nov 18, 2004 - 2:00 AM

Dear Sir,


In other words, the Prof-UIS library can’t be used with the Platform SDK...


Nevertheless, I could eliminate any dependency with this Platform SDK in my program, and removed the SDK ! So everything is OK now.


Best Regards,


Christophe Guibert