|
| Notices |
Welcome to the DriverHeaven.net forums. You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today! If you have any problems with the registration process or your account login, please contact contact us. |
 |
Mar 21, 2005, 10:05 PM
|
#1
|
|
DriverHeaven Extreme Member
Join Date: Jan 2005
Posts: 4,101
|
Visual C++ Compatibilty info.
Here is some info regarding the compatibility of different versions of Visual C++ and the kX Project SDK.
Visual C++ 6 - This is the recommended version as this is the version used to create the SDK.
Visual C++ .NET 2002 - Changes in the MFC libraries make this version incompatible with the kX SDK. You can however create plugins, etc, using this version, provided that you link with the MFC library files from VC++ 6. (this seems to work, but it is possible that you could run into problems, and you still need to get a hold of the MFC library files from VC++ 6, so if you have these files, then you probably have VC++ 6 and should probably just use it instead)
Visual C++ .NET 2003 - This has the same issue with the MFC library as the 2002 version, but due to additional incompatibilities it does not seem that this version can be used to create kX Plugins, etc.
Addtional Info:
Current versions of Visual C++ include a downgrade option. What this means is that you could purchase the current version (i.e. Visual C++ .NET 2003 Standard), and use your downgrade option to get Visual C++ 6, etc for the price of the media plus shipping and handling (i.e. media only version). See the following link for more info: Downgrade Information for Visual C++
I thought this info might be useful to anyone wanting to create kX Plugins, but are not sure what thier options are. Of course this information may not be accurate with future versions of kX, and Microsoft could change it's downgrade options in the future, so be sure to check these things before deciding to purchase anything in order to develop kX plugins, etc.
|
|
|
Mar 22, 2005, 02:48 PM
|
#2
|
|
kX Project DSP Engineer
Join Date: Dec 2002
Location: Denmark
Posts: 94
|
This is indeed useful information, which should be in a FAQ and/or perhaps a sticky thread
/Soeren
|
|
|
Mar 23, 2005, 12:18 AM
|
#3
|
|
DriverHeaven Extreme Member
Join Date: Jan 2005
Posts: 4,101
|
I did so more testing with Visual C++ .NET 2003, and discovered that you can get it to work, using the same method as with the 2002 version, however you must also make some modifications to afxtempl.h. (tested with the fx_demo plugin).
I was also able to compile (and tested successfully) a very basic plugin using VC++ 2003 .NET without the MFC 6.0 lib files, by making some small modifications to some of the kX SDK headers (kDefs.h and plgmath.h). Again this was just a very basic plugin (hardly used any of the kX SDK API functions), and would not work with other plugins (i.e. does not work with fx_demo).
This was just some basic testing, but it shows that you can use the newer VC++ versions to create kX plugins, and may even be able to do it without using the MFC files from VC++ 6 (but much more testing would be needed to figure out all the necessary changes to the kX SDK headers, and/or MFC files).
-Russ
|
|
|
Mar 23, 2005, 08:03 AM
|
#4
|
|
DriverHeaven Extreme Member
Join Date: Jan 2005
Posts: 4,101
|
Unfortunately, I hit a dead end with the VC++ .NET 2003 testing. As was discovered in this thread, there seems to be a problem/incompatibility in the CKXPluginGUI::create() function, which causes a crash when trying to open the tweak window (when not using VC++ 6 MFC files). Without the source code for that function, I do not know of anyway to get around that problem. This means that unless you want to make plugins without a custom GUI (i.e. not using that function, as it seems to work otherwise (i.e. no tweak window, or tweak window from microcode 'control's)), that you will have to use the VC++ 6 MFC files, and as such, might as well just use VC++ 6.
|
|
|
Jul 10, 2005, 12:52 PM
|
#5
|
|
Tail Razer
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 3,715
|
Any freeware Compilers for us amatures that could work?
|
|
|
Jul 10, 2005, 02:48 PM
|
#6
|
|
DriverHeaven Extreme Member
Join Date: Jan 2005
Posts: 4,101
|
Quote:
|
Originally Posted by Maddogg6
Any freeware Compilers for us amatures that could work?
|
Currently kX uses the Microsoft Foundation Class libraries (MFC), so you are limited with your options on what compiler you can use.
|
|
|
Jul 10, 2005, 02:58 PM
|
#7
|
|
DriverHeaven Extreme Member
Join Date: Jan 2005
Posts: 4,101
|
BTW: The above tests using different versions of VC++, only apply to plugin development, and not necessarilly to other areas of kX. i.e. I have been able to successfully use the kxapi (i.e. reading/writing AC97 registers using kxapi and the iKX interface) with VC++ .NET 2003 without any problems. Use with other areas of kX Development (i.e. addons, or whatever) would require further testing.
|
|
|
Jul 26, 2005, 04:49 PM
|
#8
|
|
kX Project Lead Programmer and Coordinator
Join Date: Dec 2002
Posts: 2,952
|
yes, you can use any compiler provided you have vc6's MFC headers and libraries (.h & .lib)
E.
|
|
|
Sep 7, 2005, 02:12 PM
|
#9
|
|
DriverHeaven Senior Member
Join Date: Mar 2004
Posts: 1,712
|
OK, Thats what I wanted to know...
|
|
|
Feb 22, 2006, 02:35 PM
|
#10
|
|
DriverHeaven Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,778
|
Quote:
|
Originally Posted by Eugene Gavrilov
yes, you can use any compiler provided you have vc6's MFC headers and libraries (.h & .lib)
E.
|
Correction: (to avoid incorrect info floating around)
No, it is currently NOT possible to use any compiler even if you have all
required MFC headers and libs!
Reason (discussed elsewhere);
You can not link to kxapi.lib with any non-MS compiler due to incompatible C++ ABIs.
So kX's MFC dependancy is NOT the real bottleneck here.
/LeMury
|
|
|
Feb 23, 2006, 06:18 AM
|
#11
|
|
d/h member-shmember
Join Date: Dec 2002
Location: from the edge of the deep green sea
Posts: 2,207
|
>So kX's MFC dependancy is NOT the real bottleneck here.
confirmed.
/m
|
|
|
|
|
|