|
|||||||
![]() |
|
|
Thread Tools |
|
|
#1 |
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
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
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. |
|
|
|
|
|
#2 |
|
kX Project DSP Engineer
Join Date: Dec 2002
Location: Denmark
Posts: 94
Rep Power: 0 ![]() |
This is indeed useful information, which should be in a FAQ and/or perhaps a sticky thread
/Soeren |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
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 |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
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.
|
|
|
|
|
|
#5 |
|
Tail Razer
Join Date: Jun 2005
Location: Bernyurass, AZ - USA
Posts: 4,027
Rep Power: 50 ![]() ![]() |
Any freeware Compilers for us amatures that could work?
|
|
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Quote:
|
|
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
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.
|
|
|
|
|
|
#8 |
|
kX Project Lead Programmer and Coordinator
Join Date: Dec 2002
Posts: 3,106
Rep Power: 73 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
yes, you can use any compiler provided you have vc6's MFC headers and libraries (.h & .lib)
E. |
|
|
|
|
|
#9 |
|
DriverHeaven Senior Member
Join Date: Mar 2004
Posts: 1,732
Rep Power: 0 ![]() |
OK, Thats what I wanted to know...
|
|
|
|
|
|
#10 | |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,930
Rep Power: 62 ![]() ![]() ![]() ![]() |
Quote:
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 |
|
|
|
|
|
|
#11 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
>So kX's MFC dependancy is NOT the real bottleneck here.
confirmed. /m |
|
|
|
|
|
#12 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
Îòâåò: Visual C++ Compatibilty info.
just to update the info (yek, it's 2009 now).
the following information is quite raw and may not be 100% correct - it's just to keep this thread less or more up-to-date as the earlier posts here are really obsolete and could be confusing: Current versions of kX SDK are supposed to be used with the WDK. Technically it's also possible to use the DDK or Visual Studio (>= 2003) - but there you likely will face some necessity of certain cosmetic modifications here and there (specificaly some extra global macros, due to minor crt/mfc incompatibilities). Note that the "express" versions of the Visual Studio do not include MFC headers and libraries, therefore the "express" cannot be used to compile plugins with the "default kX GUI". (Although it's possible to use (like me does for example) a combination of DDK/WDK and VS IDE (including "express"), but this requires quite tricky tweaking of the VS configurations)
__________________
Last edited by Max M.; Apr 20, 2009 at 01:37 PM. |
|
|
|
|
|
#13 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
hi guys,
tried to build the demo.kxl, 3545 sdk, vc++ v6.0 but no luck. following error occurs, mixer crashes after doubleclick the plugin in dsp- window. http://freenet-homepage.de/stylish-s...ation_3545.jpg anything wrong/need update the compiler settings? ![]() stylus Last edited by stylus02; Jun 9, 2009 at 05:10 PM. |
|
|
|
|
|
#14 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
Îòâåò: Visual C++ Compatibilty info.
i guess it's: http://www.hardwareheaven.com/effects-...ng-plugin.html
__________________
Last edited by Max M.; Jun 9, 2009 at 07:10 PM. Reason: catcha! |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
<edit>
Nevermind... Max beat me to it... ![]() Make sure that you are building the the Release version, not the Debug version... |
|
|
|
|
|
#16 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
active configuration set to "win32 release". output window shows..
... Linking... LINK : error : Internal error during ReadSymbolTable ExceptionCode = C0000005 ExceptionFlags = 00000000 ExceptionAddress = 004623F2 NumberParameters = 00000002 ExceptionInformation[ 0] = 00000000 ExceptionInformation[ 1] = 00000008 CONTEXT: Eax = 00980DC0 Esp = 0012E6D8 Ebx = 00000002 Ebp = 007399D0 Ecx = 00980DC0 Esi = 009A0764 Edx = 00000000 Edi = 009A0764 Eip = 004623F2 EFlags = 00010246 SegCs = 0000001B SegDs = 00000023 SegSs = 00000023 SegEs = 00000023 SegFs = 0000003B SegGs = 00000000 Dr0 = 0012E6D8 Dr3 = 00000002 Dr1 = 007399D0 Dr6 = 00980DC0 Dr2 = 00000000 Dr7 = 00000000 Error executing link.exe. Tool execution canceled by user. stylus |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
Try doing a "Clean" and then "Rebuild All".
|
|
|
|
|
|
#18 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
after "clean", "rebuild all" same error. perhaps a problem with the linker call?
build log --------Configuration: demo - Win32 Release----- .. Creating command line "link.exe ..\lib\kxapi.lib ..\lib\kxgui.lib /nologo /dll /incremental:no /pdb:"Release/demo.pdb" /machine:I386 /out:"Release/demo.dll" /implib:"Release/demo.lib" ".\Release\debug.obj" ".\Release\demo.obj" ".\Release\simple.obj" ".\Release\fxlib.res" " btw: i use win xp version 2002/ sp2/ P4/ 2.6ghz/ 512mb don't know if this could be important. my last succesfully builds were on windows me/ P2 (celeron)/ 256mb. stylus Last edited by stylus02; Jun 9, 2009 at 08:35 PM. Reason: os trouble? |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
You are talking about the fx_demo, right?
Did you use the included workspace (which includes all the necessary compiler and linker options, etc) or are you trying to compile from command line? It compiles fine for me (using the workspace), without having to do anything... Last edited by Russ; Jun 9, 2009 at 09:13 PM. |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
Assuming you using the workspace (so we know the settings are correct), I wonder if maybe one of your lib files got corrupted... You might try adding /verbose to the linker options and see if it gives any clues about the problem.
|
|
|
|
|
|
#21 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
yes i we talk about fx_demo and the demo.dsw . i used bundled fx_demo folder without changes.
rather i wanted modify the kxm 120 (midi kbu) with possibility playing legato and polyphonic keys, triggering gate correctly. the idea was a simple key- counter with increment and decrement if "note on" or "note off" message arrives.. no luck at compling it. so i thought: try the fx_demo to check the compiler itself before searching the error in my own code kxm120.. i think about reinstalling vc6. |
|
|
|
|
|
#22 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
must have to do with mfc. if i set "use mfc in a static library" demo.kxl is build with a lot of warnings:
.\h\gui/kWindow.h(24) : warning C4275: non dll-interface class 'CWnd' used as base for dll-interface class 'kWindow' ..\h\afxwin.h(1899) : see declaration of 'CWnd' ..\h\gui/kTextButton.h(45) : warning C4251: 'text' : class 'CString' needs to have dll-interface to be used by clients of class 'kTextButton' C:\Programme\Microsoft Visual Studio\VC98\MFC\INCLUDE\afx.h(368) : see declaration of 'CString' ..\h\gui/kKnob.h(65) : warning C4251: 'bmpKnob' : class 'CBitmap' needs to have dll-interface to be used by clients of class 'kKnob' ..\h\afxwin.h(524) : see declaration of 'CBitmap' .. and so on and sofore simple.cpp Linking... Creating library Release/demo.lib and object Release/demo.exp LINK : warning LNK4089: all references to "ADVAPI32.dll" discarded by /OPT:REF LINK : warning LNK4089: all references to "SHELL32.dll" discarded by /OPT:REF LINK : warning LNK4089: all references to "comdlg32.dll" discarded by /OPT:REF rename 1 Datei(en) kopiert. demo.dll - 0 error(s), 23 warning(s) |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
There is no need for static linking since everyone who uses kX has the necessary MFC dll's. I would get the same warnings if I set it to link statically.
If you want, I can send you the VC6 project files I used to compile kxm120 for 3541 (which also compiles without problems (for me) with 3545)... |
|
|
|
|
|
#24 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
send me a mail (look in private message)
![]() stylus |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
OK, I will send the files now. I do not know if it will help since (unless you changed some setting) it should be the same as what I sent you before, but...
Regarding kX versions: Debug build should be used for kX versions prior to 3539. Release build should be used for kX versions 3539 and up. ... And of course you should use the SDK version (or a compatible version) that matches the kX version that you are compiling for. |
|
|
|
|
|
#26 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
tried the workspace files you have sent, same error.
stay on debug release/3538. stylus |
|
|
|
|
|
#27 | |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,930
Rep Power: 62 ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
Quote:
I have 'good old' VC6 installed on some "kX machine" and can compile 3545 release builds without problems. I don't know if Russ actualy used VC6? Anyway, if you want me to give your workspace a try in vc6 just let me know? |
|
|
|
|
|
|
#28 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
of course you can get the workspace files.
http://freenet-homepage.de/stylish-stylus/kxm120.zip here the version info: http://freenet-homepage.de/stylish-stylus/vc6_about.jpg stylus |
|
|
|
|
|
#29 |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,930
Rep Power: 62 ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
Yep, kxm120.zip compiles just fine both in debug as well as release build.
win xpsp3, msvc6.0+sp6, kX3545 sdk. Indeed, must be something wrong with your vc6 installation and/or OS. |
|
|
|
|
|
#30 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
i could install sp3 on winxp. what means vc6+sp6?.
|
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
|
|