|
|||||||
![]() |
|
|
Thread Tools |
|
|
#31 |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,930
Rep Power: 62 ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
Well, win xp sp2 + vc6 + 3534 should also work fine, I have just tried that on another partition.
vc6+sp6 means vc6 + service pack 6 lol |
|
|
|
|
|
#32 |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,930
Rep Power: 62 ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
Oh btw; IIRC, the latest Visual Studio is free. Dunno if MFC is included this time or not.
(although you can write kx plugs without mfc too) Check ms website. |
|
|
|
|
|
#33 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
problem fixed after installing vs6/sp6. my version of vs6 was outdated.
application update - service pack - microsoft terminology. ![]() stylus |
|
|
|
|
|
#34 |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,930
Rep Power: 62 ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
|
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
Anyone know what is needed for 3548 x86 (since it appears that VC6 is no longer an option).
Using VS .NET 2003 (SP1) I can compile the plugins OK, and they register and load into the DSP OK, but I cannot open the tweak window for the plugin (using kxgui). Debug output shows: "kX Mixer: an exception on creating plugin window...". Any ideas? I do remember this issue from before, but I thought that maybe it would not be an issue with newer versions of kX. Also, when trying to compile my addon, I get an an unresolved external symbol with the "int add(kString,kMenu *menu,int flag=0);" function (from kmenu.h). If I use the TCHAR version of the same function instead, it compiles OK, and the addon appears to work correctly. Any idea on why the kString version of the function causes the error? (The E-DSP addon has a couple more unresolved externels too). Last edited by Russ; Jul 30, 2009 at 02:30 AM. |
|
|
|
|
|
#36 |
|
DH Senior Member
Join Date: Jan 2003
Location: The Netherlands
Posts: 1,930
Rep Power: 62 ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
My plugins+win32Gui (both in vc6 as well as in vs2008) compile and run fine using 3548-x86 so it's probably some window creation bug in kxgui.
Best to mail E about it. |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
Yeah, I get the feeling he is going to say that I have to use the WDK (or not use kxgui). I am hoping Max has some workaround...
|
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
OK, I got it working with VC6 (with a couple warnings (C4601) about #pragma push_macro : 'new')...
I had to add an include to the crt directory from the PSDK to get definitions for stuff like intptr_t (I already had includes for other PSDK stuff, but not that specific one). i.e. Include Files C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE\CRT [EDIT] I was able to get it working with VS .NET 2003 (SP1) as well, with some includes from the WinDDK (same as I posted here, except I also had to add "C:\WINDDK\3790.1830\lib\atl\i386" to the list of libraries). Last edited by Russ; Jul 30, 2009 at 06:19 AM. |
|
|
|
|
|
#39 | |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
Quote:
after hd- crash i had to make a new windows installation. now itґs a windows 7 with kx version 3550. i got the same problem while compiling my plugins with vc6/sp6. in kxplugin.h this line causes an error: typedef intptr_t kxparam_t; can you explane which includes you have added? thx Last edited by stylus02; Dec 21, 2009 at 03:50 PM. |
|
|
|
|
|
|
#40 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
Ответ: Visual C++ Compatibilty info.
intptr_t/uintptr_t are defined in crtdefs.h
__________________
Last edited by Max M.; Dec 21, 2009 at 08:14 PM. |
|
|
|
|
|
#41 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Ответ: Visual C++ Compatibilty info.
no such header found in vc6 folder. is this newer stuff from wdk? i have read about new c99 standard for e.g. 64 bit numbers.
|
|
|
|
|
|
#42 | |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
Ответ: Visual C++ Compatibilty info.
yes, this is newer stuff from any uptodate C crt (incl. WDK one).
it's not a problem to define those types on your own: Code:
// define before including kX headers: #ifdef _WIN64 typedef __int64 intptr_t; typedef unsigned __int64 uintptr_t; #else typedef int intptr_t; typedef unsigned int uintptr_t; #endif btw., taking into account: Quote:
![]() "VSExpress + WDK" might be a more flexible combo than "VC6 + SP6 + PSDK + whatever" (especially since you're moving to more complex programming corners now)
__________________
Last edited by Max M.; Dec 21, 2009 at 08:56 PM. |
|
|
|
|
|
|
#43 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Ответ: Visual C++ Compatibilty info.
uff. i fear it's not the only one.. (meanwhile i download the wdk)..
let's see what happens if i copy these definitions in my plugin code. hm.. i would take another combo, than vc6 + "x". when vsexpress, i think it's free, and the wdk now are recommended i would do. |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
This is what I have currently (at the top, above the Visual Studio includes):
Executable Files: C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\BIN C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\BIN\WINNT Include Files: C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE\CRT C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE\ATL C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE\MFC Library Files: C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\LIB Source Files: C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\SRC C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\SRC\CRT C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\SRC\ATL C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\SRC\MFC Note: Some of the kX functions changed slightly, and as such you will have to modify any sources (.h and .cpp) from previous versions of kX. e.g. Code:
virtual char *get_plugin_description(int id); Code:
virtual const char *get_plugin_description(int id); Last edited by Russ; Dec 22, 2009 at 12:31 AM. |
|
|
|
|
|
#45 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
i see, there are slightly changes in the demo files (actualized july 2009).
following i wanna try: - visual c++ 2008 express edition + wdk 7 (both are free) - take the new demo files (3550) as a base for my plugins - add pathes for includes/ libraries.. (wdk) to project properties Last edited by stylus02; Dec 22, 2009 at 11:44 AM. |
|
|
|
|
|
#46 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
Ответ: Visual C++ Compatibilty info.
Russ
Btw., I see the PSDK you use does have MFC headers and libraries. Is it a standalone "Platform SDK"/"Windows SDK" or a part of some IDE?
__________________
|
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
That PSDK is the Windows Server 2003 SP1 SDK.
Last edited by Russ; Dec 23, 2009 at 11:00 PM. |
|
|
|
|
|
#48 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
Ответ: Visual C++ Compatibilty info.
I see, thanks! It's interesting.... we (me and E.) got used to think of PSDK not having MFC so it was never considered to be recommended for plugin building. (I did not install a standalone PSDK for while - so...).
I just was thinking of posting some summary of "supported/unsupported" toolsets/kits (because I've realized that my prev. post might be really confusing on the "finally, what to use?" matter). I was not going to mention PSDKs at all, now I guess I need to check current P/WSDKs out first. (Obviously a PSDK would make more sense for "VCExpress + *" combo then, as a WDKs do not include any documentation beyond the "driver stuff")
__________________
|
|
|
|
|
|
#49 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
Ответ: Visual C++ Compatibilty info.
Another question.
What crt dll are you able to link to with this PSDK?(A little charming benefit of WDK is that it gives possibility to link to old good msvcrt.dll (instead of bloating VC8/9 crt dlls) while using modern compilers/linkers).
__________________
|
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
With VC6 you are limited with what PSDK's you can use now, since newer PSDK's no longer support it. Also, I am not sure if this PSDK has all of the MFC stuff that would be necessary. Finally, I also have VCExpress installed, and a newer PSDK (for that), and it does not appear to include any MFC stuff, so I think the WDK would still be necessary.
As for the crt dll, I have not tried linking with any alternate versions (I am using it with VC6 anyway). Last edited by Russ; Dec 23, 2009 at 11:40 PM. |
|
|
|
|
|
#51 | |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
Ответ: Visual C++ Compatibilty info.
Quote:
![]() Crtdll - got it, thanks again.
__________________
Last edited by Max M.; Dec 23, 2009 at 11:45 PM. |
|
|
|
|
|
|
#52 |
|
HardwareHeaven Lover
Join Date: Jan 2008
Location: germany, sb0090
Posts: 242
Rep Power: 26 ![]() ![]() |
Re: Visual C++ Compatibilty info.
how about including (a) complete demo workspace(s), as we had in earlier versions based on newer compilers & libraries? (primarily microsoft one`s)
a readme: "how do i setup my compiler- combo for kx?" could help newbies. ![]() we had 2 good possibilities right now: russ's one and your's max. meanwhile.. i have compiled successfully demo.kxl (3550) with vc++ express 2008 & wdk 7 - copied demo.dsw, demo.dsp from 3545 to 3550 demo folder - (removed StdAfx.cpp in project) - added to compiler pathes (extras/options.. "c++ pathes" (don't know right name, i use german version)): "includes": C:\WinDDK\7600.16385.0\inc\crt; C:\WinDDK\7600.16385.0\inc\mfc42 "libraries": C:\WinDDK\7600.16385.0\lib\Mfc\i386; C:\WinDDK\7600.16385.0 \lib\ATL\i386 - set active configuration to release Last edited by stylus02; Dec 24, 2009 at 05:44 PM. |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
I am not sure of the optimal (or minimal) setup, but I recently tried VCExpress + WDK and here is the setup I used:
I used a batch file to set VCExpress to use the WDK vars: call "C:\WinDDK\7600.16385.0\bin\setenv" C:\WinDDK\7600.16385.0 fre WXP start "" "C:\Microsoft Visual Studio 9.0\Common7\IDE\VCExpress.exe" /useenv Then I added some additional includes to the "VC++ Directories": Include Files: C:\WinDDK\7600.16385.0\inc\crt C:\WinDDK\7600.16385.0\inc\atl71 C:\WinDDK\7600.16385.0\inc\ddk C:\WinDDK\7600.16385.0\inc\mfc42 Library Files: C:\WinDDK\7600.16385.0\lib\Crt\i386 C:\WinDDK\7600.16385.0\lib\ATL\i386 C:\WinDDK\7600.16385.0\lib\wxp\i386 C:\WinDDK\7600.16385.0\lib\Mfc\i386 [edit] You can add the (above) additional directories to the batch file so that you do not have to add them manually each time. e.g. Code:
call "C:\WinDDK\7600.16385.0\bin\setenv" C:\WinDDK\7600.16385.0 fre WXP set INCLUDE=C:\WinDDK\7600.16385.0\inc\crt;C:\WinDDK\7600.16385.0\inc\atl71;C:\WinDDK\7600.16385.0\inc\ddk;C:\WinDDK\7600.16385.0\inc\mfc42;%INCLUDE% set LIB=C:\WinDDK\7600.16385.0\lib\Crt\i386;C:\WinDDK\7600.16385.0\lib\ATL\i386;C:\WinDDK\7600.16385.0\lib\wxp\i386;C:\WinDDK\7600.16385.0\lib\Mfc\i386;%LIB% start "" "C:\Microsoft Visual Studio 9.0\Common7\IDE\VCExpress.exe" /useenv I opened the VC6 workspace (.dsw) for the plugin and let VCExpress convert it. I set the active config to release. I added the following "Additional Dependencies" to the linker: C:\WinDDK\7600.16385.0\lib\wxp\i386\msvcrt_winxp.o bj The plugin (one of my plugins that uses kxgui) compiled without problems and appears to function correctly. Last edited by Russ; Feb 15, 2011 at 03:23 PM. Reason: update |
|
|
|
|
|
#54 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
Ответ: Visual C++ Compatibilty info.
i guess i just confirm what Russ wrote.
This would be fair optimal setup. (except maybe calling/setting "env" stuff via batch - i don't think it is really necessary - i don't use such at least.) I would reveal a more radical/harsh setup (similiar to what i use) but it's really too drastic (burning out *all* default VS directories and then setting up different "configurations" via "vsprops" (see MSDN) stuff). Maybe later...
__________________
Last edited by Max M.; Dec 25, 2009 at 12:33 AM. |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
The idea with the batch file is to (hopefully) make switching between 32 bit and 64 bit easier.
Anyway, this is the setup I tried for x64: Batch File: call "C:\WinDDK\7600.16385.0\bin\setenv" C:\WinDDK\7600.16385.0 fre x64 WLH start "" "C:\Microsoft Visual Studio 9.0\Common7\IDE\VCExpress.exe" /useenv Additional Includes: Include Files: C:\WinDDK\7600.16385.0\inc\crt C:\WinDDK\7600.16385.0\inc\atl71 C:\WinDDK\7600.16385.0\inc\ddk C:\WinDDK\7600.16385.0\inc\mfc42 Library Files: C:\WinDDK\7600.16385.0\lib\Crt\amd64 C:\WinDDK\7600.16385.0\lib\ATL\amd64 C:\WinDDK\7600.16385.0\lib\wlh\amd64 C:\WinDDK\7600.16385.0\lib\Mfc\amd64 [edit] Again, you can add the (above) additional directories to the batch file so that you do not have to add them manually each time. e.g. Code:
call "C:\WinDDK\7600.16385.0\bin\setenv" C:\WinDDK\7600.16385.0 fre x64 WLH set INCLUDE=C:\WinDDK\7600.16385.0\inc\crt;C:\WinDDK\7600.16385.0\inc\atl71;C:\WinDDK\7600.16385.0\inc\ddk;C:\WinDDK\7600.16385.0\inc\mfc42;%INCLUDE% set LIB=C:\WinDDK\7600.16385.0\lib\Crt\amd64;C:\WinDDK\7600.16385.0\lib\ATL\amd64;C:\WinDDK\7600.16385.0\lib\wlh\amd64;C:\WinDDK\7600.16385.0\lib\Mfc\amd64;%LIB% start "" "C:\Microsoft Visual Studio 9.0\Common7\IDE\VCExpress.exe" /useenv Procedure is the same as in my previous post, except I used the following object file instead of the wxp one: C:\WinDDK\7600.16385.0\lib\wlh\amd64\msvcrt_win200 3.obj ...and I set the target machine type to MachineX64. (and I used the kX SDK from the x64 release of the driver) The plugin compiled OK (other than some warnings related to conversion from 'kxparam_t' to 'int', etc), but I not able to test it as I do not have a x64 system. Last edited by Russ; Feb 15, 2011 at 03:27 PM. Reason: update |
|
|
|
|
|
#56 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
Ответ: Visual C++ Compatibilty info.
Ah, i see. Yeah, that makes sense.
__________________
|
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
That is just my initial test setup (as I only recently installed VCExpress and the WDK, and I am not all that familiar with either). Once I know what is optimal, I will probably create my own setenv batch file (that does not include the unnecessary stuff, and does include the stuff that I had to add manually, etc), or maybe use vsprops files (per your suggestion).
Any tips or suggestions that you have are always appreciated. |
|
|
|
|
|
#58 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
Ответ: Visual C++ Compatibilty info.
They (MS) promiss more flexible "platform" configuration stuff in the upcoming VS2010 (i hope this will apply to Express version too). Well, we'll see.
The "vsprops" is handy but still somewhat limited (and still requires some manual work when "switching" (i don't "switch" too much though)). Either way, here's the "vsprops" file i typically use: (it's for VS2005+WDK.6001, but it should work for VS2008 and/or WDK.7600 too) Code:
<?xml version="1.0" encoding="windows-1251"?> <VisualStudioPropertySheet ProjectType="Visual C++" Version="8.00" Name="Default (WDK)" > <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="$(WDK)\inc\crt;$(WDK)\inc\api\crt\stl70;$(WDK)\inc\api;$(WDK)\inc\mfc42" PreprocessorDefinitions="_STL70_;_STATIC_CPPLIB;_SYSCRT_REPORT_NOIMPORT" RuntimeLibrary="2" /> <Tool Name="VCLinkerTool" AdditionalLibraryDirectories="$(WDK)\lib\crt\i386;$(WDK)\lib\wnet\i386;$(WDK)\lib\mfc\i386;$(WDK)\lib\atl\i386" AdditionalDependencies="ntstc_msvcrt.lib msvcrt_win2003.obj" GenerateManifest="false" /> <Tool Name="VCResourceCompilerTool" AdditionalIncludeDirectories="$(WDK)\inc\api;$(WDK)\inc\mfc42" /> <UserMacro Name="WDK" Value="E:\WDK" /> </VisualStudioPropertySheet>
__________________
Last edited by Max M.; Nov 22, 2011 at 12:22 PM. |
|
|
|
|
|
|
|
HardwareHeaven Extreme Member
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61 ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Visual C++ Compatibilty info.
Looks easy enough, thanks for the info
![]() I see that you use the win2003 object file for your 32 bit builds, does that lead to any issues with XP (I figured there is some reason why there is one specifically for XP (which I assume means XP (32 Bit) and later))? |
|
|
|
|
|
#60 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66 ![]() ![]() ![]() ![]() ![]() ![]() |
Ответ: Visual C++ Compatibilty info.
>win2003 object file
I guess it's just for compatibility with binaries for my work. But it should not make any differences (as far as i understand XP (after SP1/2 at least) has the same mscvcrt as W2003). It works just fine (though i'm not sure why they made all those duplicates - maybe it's for backward compatibility with prev. DDKs?)
__________________
|
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
|
|