www.quadsoftware.com
FAQ  FAQ   Search  Search   Memberlist  Memberlist   Usergroups  Usergroups
Register  ::  Log in Log in to check your private messages


Post new topic  Reply to topic
 SDK - issues with compiling with Visual Studio 2005 « View previous topic :: View next topic » 
Author Message
speedcm
PostPosted: Thu Apr 12, 2007 11:41 pm    Post subject: SDK - issues with compiling with Visual Studio 2005 Reply with quote



Joined: 05 Apr 2007
Posts: 12

Team,

We need your help.

We are trying to build a Grome plugin with Visual Studios 2005. Upon opening the SDK projects, Visual Studios 2005 identifies that the projects are built with an older version. Then, Visual Studios 2005 states the projects must be converted. When Visual Studios 2005 convert the Grome provide proect, the following errors are displayed:

Conversion Issues - ExpTxt.vcproj:
Visual C++ now supports a secure version of the C Runtime Library. Use of this library is turned on by default. You may see some warnings about deprecated functions when you build your project. It is advised that you correct these warnings, in order to make your code more secure.
The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.
The single-threaded run-time library switches (/MLd, /ML) have been removed from the C++ compiler. The project has been automatically converted to use the corresponding multi-threaded run-time library switches (/MTd, /MT).
Project upgraded successfully.
Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.
Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).

So then we try to follow the directions in the Grome SDK which are written for Visual Studios 2003. Basically we can not get it working to the point we are confident with Visual Studios 2005.

This is what we need to be successful.

a. Documentation for creating a Grome plugins with Visual Studios 2005, and/or
b. Working plugin (e.g. exptxt) setup for Visual Studios 2005

Please provide us with this so we can move forward to integrate Grome within our product.

Thank you very much!
Back to top
View user's profile Send private message
ALicu
PostPosted: Fri Apr 13, 2007 6:37 am    Post subject: Reply with quote



Joined: 12 Feb 2007
Posts: 1326

We will make project versions for 2005 and added in the next patch (next week). You shouldn't have any issues with Visual C++ 2005. There are some changes that make the standard C runtime functions look deprecated. These warning can be disabled with a macro. It seems that Microsoft no longer wants to support standard C functions and declare them deprecated. Also, you can make builds without manifests. Basically the plugins code are C and C++ standard. All the warnings presented by the Visual C++ are given for all old format projects. Did you manage to compile the plugins and they didn't work? Anyway, we will make VC 2005 projects and include them in the next patch.
Back to top
View user's profile Send private message
speedcm
PostPosted: Fri Apr 13, 2007 10:44 am    Post subject: Reply with quote



Joined: 05 Apr 2007
Posts: 12

It did not even compile Sad

At a minimum, please make sure the ExpTxt plugin is converted to VS2005. The ExpTxt plugin is the one we need to change. We only need to change one line for now Smile Should take us 5 minutes to change the line and recompile.

We are guessing that the next patch will have more than this issue resolved thus increasing the time to market (i.e. next week)?

If so, it would be greatly appreciated if you can send me a zip of a working VS2005 project for the ExpTxt plugin as soon as it is done so we can move forward.

Thanks you for helping us meet our delivery times.

p.s.

It would be great if the ExpOsg plugin was also converted. For now, we need the ExpTxt plugin converted first.
Back to top
View user's profile Send private message
ALicu
PostPosted: Fri Apr 13, 2007 5:28 pm    Post subject: Reply with quote



Joined: 12 Feb 2007
Posts: 1326

A patch was added today including projects for Visual Studio 2005 for all the plugins (see SDK/Grome/Plugins/StandardPlugins8.sln solution file inside the SDK). Let me know if everything works fine for you.
Back to top
View user's profile Send private message
speedcm
PostPosted: Sat Apr 14, 2007 12:51 am    Post subject: Reply with quote



Joined: 05 Apr 2007
Posts: 12

Installed the patch and tried to invoke the ExpTxt project for VS2005. Now we get the following error:

1>------ Build started: Project: ExpTxt, Configuration: Debug - Professional Edition Win32 ------
1>Compiling...
1>ExpTxtDLL.cpp
1>c:\program files\grome\sdk\grome\public\engine\types\t_char.h(63) : error C2440: 'return' : cannot convert from 'const wchar_t *' to 'csdk::t_char *'
1> Conversion loses qualifiers
1>c:\program files\grome\sdk\grome\public\engine\types\t_char.h(65) : error C2440: 'return' : cannot convert from 'const wchar_t *' to 'csdk::t_char *'
1> Conversion loses qualifiers
1>Build log was saved at "file://c:\Program Files\Grome\SDK\Grome\Plugins\ExpTxt\WinDLL\Debug - Professional Edition\BuildLog.htm"
1>ExpTxt - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

To ensure it was not an installation issue, I deleted t_char.h and reinstalled. After I reinstalled, I compared the newly installed file to the old one with dos command fc.

FC: no differences encountered
Back to top
View user's profile Send private message
speedcm
PostPosted: Sat Apr 14, 2007 1:06 am    Post subject: Reply with quote



Joined: 05 Apr 2007
Posts: 12

We modified vendor supplied file t_char.h Smile

Changed line 63 and 65 to:

inline t_char* gStrStr(t_char *dst, t_char *src) { return wcsstr(dst, src); }
//! UNICODE version of \c strchr.
inline t_char* gStrChr(t_char *dst, int c) { return wcschr(dst, (wint_t)c); }


----

After making change, we now get it to compile with 5 warnings:

1>------ Build started: Project: ExpTxt, Configuration: Debug - Professional Edition Win32 ------
1>Compiling...
1>ExpTxtDLL.cpp
1>c:\program files\grome\sdk\grome\public\engine\types\t_string.h(364) : warning C4996: 'strlwr' was declared deprecated
1> c:\program files\microsoft visual studio 8\vc\include\string.h(214) : see declaration of 'strlwr'
1> Message: 'The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strlwr. See online help for details.'
1>c:\program files\grome\sdk\grome\public\engine\types\t_string.h(370) : warning C4996: 'strupr' was declared deprecated
1> c:\program files\microsoft visual studio 8\vc\include\string.h(219) : see declaration of 'strupr'
1> Message: 'The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strupr. See online help for details.'
1>Compiling...
1>ExpTxt.cpp
1>c:\program files\grome\sdk\grome\public\engine\types\t_string.h(364) : warning C4996: 'strlwr' was declared deprecated
1> c:\program files\microsoft visual studio 8\vc\include\string.h(214) : see declaration of 'strlwr'
1> Message: 'The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strlwr. See online help for details.'
1>c:\program files\grome\sdk\grome\public\engine\types\t_string.h(370) : warning C4996: 'strupr' was declared deprecated
1> c:\program files\microsoft visual studio 8\vc\include\string.h(219) : see declaration of 'strupr'
1> Message: 'The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strupr. See online help for details.'
1>Compiling resources...
1>Linking...
1>ExpTxtDLL.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
1> Creating library ./ExpTxt.lib and object ./ExpTxt.exp
1>Embedding manifest...
1>Build log was saved at "file://c:\Program Files\Grome\SDK\Grome\Plugins\ExpTxt\WinDLL\Debug - Professional Edition\BuildLog.htm"
1>ExpTxt - 0 error(s), 5 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Back to top
View user's profile Send private message
ALicu
PostPosted: Sat Apr 14, 2007 12:48 pm    Post subject: Reply with quote



Joined: 12 Feb 2007
Posts: 1326

Yes, you are right. Issues are solved now, please download today patch (01.08.04)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Based on a template by Dustin Baccetti
Powered by phpBB © 2001, 2005 phpBB Group