Dsound.h still spooky!


#1

Hi,

I followed the advice from another thread to install the direct sound sdk in order to be able to compile Juce using Visual Express C++ 2005, but that didn’t help me much!

I’ve set the linker and library path as such (which I believe is correct):

For include:
C:\Program Files\Microsoft DirectX 9.0 SDK (October 2005)\Include

For Library:
C:\Program Files\Microsoft DirectX 9.0 SDK (October 2005)\Lib\x86

but when compiling I get lots of errors:

c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(101) : error C2065: ‘DSERR_NOINTERFACE’ : undeclared identifier
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(101) : error C2051: case expression not constant
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(227) : error C3861: ‘DirectSoundCaptureEnumerate’: identifier not found
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(280) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSoundBuffer’
c:\program files\microsoft platform sdk\include\dsound.h(104) : see declaration of 'IDirectSoundBuffer’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(280) : error C2227: left of ‘->Stop’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(287) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSoundBuffer’
c:\program files\microsoft platform sdk\include\dsound.h(104) : see declaration of 'IDirectSoundBuffer’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(287) : error C2227: left of ‘->Release’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(299) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSound’
c:\program files\microsoft platform sdk\include\dsound.h(74) : see declaration of 'IDirectSound’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(299) : error C2227: left of ‘->Release’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(336) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSound’
c:\program files\microsoft platform sdk\include\dsound.h(74) : see declaration of 'IDirectSound’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(336) : error C2227: left of ‘->SetCooperativeLevel’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(351) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSound’
c:\program files\microsoft platform sdk\include\dsound.h(74) : see declaration of 'IDirectSound’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(351) : error C2227: left of ‘->CreateSoundBuffer’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(367) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSoundBuffer’
c:\program files\microsoft platform sdk\include\dsound.h(104) : see declaration of 'IDirectSoundBuffer’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(367) : error C2227: left of ‘->SetFormat’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(375) : error C2065: ‘DSBCAPS_GLOBALFOCUS’ : undeclared identifier
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(379) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSound’
c:\program files\microsoft platform sdk\include\dsound.h(74) : see declaration of 'IDirectSound’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(379) : error C2227: left of ‘->CreateSoundBuffer’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(389) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSoundBuffer’
c:\program files\microsoft platform sdk\include\dsound.h(104) : see declaration of 'IDirectSoundBuffer’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(389) : error C2227: left of ‘->Lock’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(397) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSoundBuffer’
c:\program files\microsoft platform sdk\include\dsound.h(104) : see declaration of 'IDirectSoundBuffer’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(397) : error C2227: left of ‘->Unlock’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(401) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSoundBuffer’
c:\program files\microsoft platform sdk\include\dsound.h(104) : see declaration of 'IDirectSoundBuffer’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(401) : error C2227: left of ‘->SetCurrentPosition’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(405) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSoundBuffer’
c:\program files\microsoft platform sdk\include\dsound.h(104) : see declaration of 'IDirectSoundBuffer’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(405) : error C2227: left of ‘->Play’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(428) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSoundBuffer’
c:\program files\microsoft platform sdk\include\dsound.h(104) : see declaration of 'IDirectSoundBuffer’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(428) : error C2227: left of ‘->GetCurrentPosition’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(434) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSoundBuffer’
c:\program files\microsoft platform sdk\include\dsound.h(104) : see declaration of 'IDirectSoundBuffer’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(434) : error C2227: left of ‘->GetCurrentPosition’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(465) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSoundBuffer’
c:\program files\microsoft platform sdk\include\dsound.h(104) : see declaration of 'IDirectSoundBuffer’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(465) : error C2227: left of ‘->Lock’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(598) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSoundBuffer’
c:\program files\microsoft platform sdk\include\dsound.h(104) : see declaration of 'IDirectSoundBuffer’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(598) : error C2227: left of ‘->Unlock’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(626) : error C2146: syntax error : missing ‘;’ before identifier 'pDirectSoundCapture’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(626) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(626) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(627) : error C2146: syntax error : missing ‘;’ before identifier 'pInputBuffer’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(627) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(627) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(649) : error C2614: ‘juce::DSoundInternalInChannel’ : illegal member initialization: ‘pInputBuffer’ is not a base or member
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(649) : error C2614: ‘juce::DSoundInternalInChannel’ : illegal member initialization: ‘pDirectSoundCapture’ is not a base or member
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(661) : error C2065: ‘pInputBuffer’ : undeclared identifier
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(666) : error C3861: ‘IDirectSoundCaptureBuffer_Stop’: identifier not found
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(673) : error C3861: ‘IDirectSoundCaptureBuffer_Release’: identifier not found
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(681) : error C2065: ‘pDirectSoundCapture’ : undeclared identifier
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(685) : error C3861: ‘IDirectSoundCapture_Release’: identifier not found
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(697) : error C2039: ‘lpVtbl’ : is not a member of 'IDirectSound’
c:\program files\microsoft platform sdk\include\dsound.h(74) : see declaration of 'IDirectSound’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(697) : error C2227: left of ‘->Release’ must point to class/struct/union/generic type
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(726) : error C3861: ‘DirectSoundCaptureCreate’: identifier not found
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(744) : error C2065: ‘DSCBUFFERDESC’ : undeclared identifier
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(744) : error C2146: syntax error : missing ‘;’ before identifier 'captureDesc’
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(744) : error C2065: ‘captureDesc’ : undeclared identifier
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(745) : error C2070: ‘‘unknown-type’’: illegal sizeof operand
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(746) : error C2228: left of ‘.dwSize’ must have class/struct/union
type is '‘unknown-type’'
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(746) : error C2070: ‘‘unknown-type’’: illegal sizeof operand
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(747) : error C2228: left of ‘.dwFlags’ must have class/struct/union
type is '‘unknown-type’'
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(748) : error C2228: left of ‘.dwBufferBytes’ must have class/struct/union
type is '‘unknown-type’'
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(749) : error C2228: left of ‘.lpwfxFormat’ must have class/struct/union
type is '‘unknown-type’'
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(752) : error C3861: ‘IDirectSoundCapture_CreateCaptureBuffer’: identifier not found
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(760) : error C2065: ‘DSCBSTART_LOOPING’ : undeclared identifier
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(760) : error C3861: ‘IDirectSoundCaptureBuffer_Start’: identifier not found
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(778) : error C3861: ‘IDirectSoundCaptureBuffer_GetCurrentPosition’: identifier not found
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(784) : error C3861: ‘IDirectSoundCaptureBuffer_GetCurrentPosition’: identifier not found
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(801) : error C3861: ‘IDirectSoundCaptureBuffer_Lock’: identifier not found
c:\documents and settings\str_tks\my documents\vstdevel\juce\build\win32\platform_specific_code\juce_win32_directsound.cpp(876) : error C3861: ‘IDirectSoundCaptureBuffer_Unlock’: identifier not found
Build log was saved at "file://c:\Documents and Settings\str_tks\My Documents\VstDevel\juce\bin\intermediate_win32\staticdebug\BuildLog.htm"
JUCE - 66 error(s), 0 warning(s)

I’m sorry to make all the noise :slight_smile: but I need help - can you please tell me how to solve the problem?!

Hope to hear from you

Thomas


#2

So when directsound.cpp tries to include dsound.h it finds it, but gets all those errors afterwards??

You could also try this previous version of the platform SDK, which is the one I use. It has dsound stuff already in it.

http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm


#3

I have no problem with the new platform sdk and the new directx sdk with JUCE, everything compiles ok


#4

That is not the right path if you have the DirectX SDK installed. The compiler is looking in the wrong place, there could be a version conflict or simply a wonky header in the path it chooses.

Try moving the DirectX paths up to the top of the paths lists for includes and libs.


#5

Hi,

First I had to change my username in order to log-in (I’m heureka the composer of the question in this thread)!

Thanks for your answers they were useful. Now, I suffer with some other problems unfortunately :frowning: I can compile the again project as well as the juce project, but when including juce.h in my again proejct (in the header file) I get the following messages:

------ Build started: Project: Gain, Configuration: Debug Win32 ------
Compiling…
AGainMain.cpp
JUCE! Linking to: jucelib_static_debug.lib
c:\program files\microsoft platform sdk\include\winnt.h(894) : error C2988: unrecognizable template declaration/definition
c:\program files\microsoft platform sdk\include\winnt.h(894) : error C2059: syntax error : '('
c:\program files\microsoft platform sdk\include\winnt.h(894) : error C2090: function returns array
c:\program files\microsoft platform sdk\include\winnt.h(894) : error C2988: unrecognizable template declaration/definition
c:\program files\microsoft platform sdk\include\winnt.h(894) : error C2059: syntax error : ')'
c:\program files\microsoft platform sdk\include\winnt.h(1454) : error C2143: syntax error : missing ‘;’ before '*'
c:\program files\microsoft platform sdk\include\winnt.h(2653) : warning C4164: ‘_bittest’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2654) : warning C4164: ‘_bittestandcomplement’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2655) : warning C4164: ‘_bittestandset’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2656) : warning C4164: ‘_bittestandreset’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2657) : warning C4164: ‘_interlockedbittestandset’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2658) : warning C4164: ‘_interlockedbittestandreset’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2679) : warning C4164: ‘_BitScanForward’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2680) : warning C4164: ‘_BitScanReverse’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2784) : warning C4164: ‘__readfsbyte’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2785) : warning C4164: ‘__readfsword’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2786) : warning C4164: ‘__readfsdword’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2787) : warning C4164: ‘__writefsbyte’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2788) : warning C4164: ‘__writefsword’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2789) : warning C4164: ‘__writefsdword’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2844) : warning C4164: ‘__int2c’ : intrinsic function not declared
c:\program files\microsoft platform sdk\include\winnt.h(2857) : error C3861: ‘__readfsdword’: identifier not found
c:\program files\microsoft platform sdk\include\winnt.h(2858) : error C3861: ‘__readfsdword’: identifier not found
c:\program files\microsoft platform sdk\include\winnt.h(2938) : error C2143: syntax error : missing ‘;’ before 'identifier’
c:\program files\microsoft platform sdk\include\winnt.h(2938) : warning C4091: 'typedef ’ : ignored on left of ‘_FLOATING_SAVE_AREA’ when no variable is declared
c:\program files\microsoft platform sdk\include\winnt.h(2938) : fatal error C1075: end of file found before the left brace ‘{’ at ‘c:\program files\microsoft platform sdk\include\winnt.h(22)’ was matched
Creating browse information file…
Microsoft Browse Information Maintenance Utility Version 8.00.50727
Copyright © Microsoft Corporation. All rights reserved.
BSCMAKE: error BK1506 : cannot open file ‘.\Debug\AGainMain.sbr’: No such file or directory
Build log was saved at "file://c:\VstDevel\vstsdk2.3\win\Debug\BuildLog.htm"
Gain - 11 error(s), 16 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Can you please tell me what I have done wrong?

Best regards
Thomas


#6

Two things:

The actual error is one I wrestled with myself the other day. There is a thread about it in the windows forum. I think its the same anyway. It is a conflict between windows and juce names.

But secondly, I must question your intentions? Are you trying to build a VST from the SDK, with JUCE as a gui or something?
You know about JuceAudioPlugin framework, right?


#7

[quote=“Pukeweed”]Two things:

The actual error is one I wrestled with myself the other day. There is a thread about it in the windows forum. I think its the same anyway. It is a conflict between windows and juce names.

But secondly, I must question your intentions? Are you trying to build a VST from the SDK, with JUCE as a gui or something?
You know about JuceAudioPlugin framework, right?[/quote]

Hi :slight_smile:

Thanks for your quick reply…

Yes I’m trying to make a gui for my again vst plug-in as a start - a simple start! … and no I don’t know about the JuceAudioPlugin framework :frowning:

I’'ll try to do some searching, but if you have some hints for me I’d appreciate it!

thx
Thomas


#8

It looks interesting… Thanks for telling me about this framwork!

Unfortunately when compiling the project I get the same errors as before.

JUCE! Linking to: jucelib_static_debug.lib
c:\program files\microsoft platform sdk\include\winnt.h(894) : error C2988: unrecognizable template declaration/definition
c:\program files\microsoft platform sdk\include\winnt.h(894) : error C2059: syntax error : ‘(’

Do you experience the same?

—>

I found your advice on inserting the following lines

#undef T
#undef Rectangle
#define Array tempArray
#include <windows.h>
#undef Array
#define T(x) L#x

but where should I put them…sorry for these trivial questions! I just find it hard to get started

Thomas

Thomas :slight_smile:


#9

Well, in my case it was in the JustVSTWrapper header but if you are not using JAP, it might be anywhere I suppose.

One way to pin it down might be to compile the files in your project one by one. Your IDE probably has a “compile current file” command or simmilar. Go through your files and see if one gives you errors.

Beyond that, I suspect you must wait for Jules to show up and save the day.


#10

From the error, it looks like you’re including juce.h before windows.h - always try to put juce.h after the system includes and it should be fine…


#11

Thanks for your replies. Unfortunately you tip does not help me. I looked in the visual express c++ ->tools->option->directories and set up the linker and library paths as you advice but when I compile I get the same errors as presented in prior mail! :frowning:

In case I understand you advice the wrong way I also tried to look in the *.h and *.cpp files for declaration of windows.h and juce.h and tried to paste in the following lines in the top of the headers:

but that didn’t help me much either! :frowning:

Hoping for more help!

Thomas

If some of you have setup the project correctly I’d be happy to recieve a zipped version of the project at stoltzo@@@@@@@@@@hotmail.com (remove the @'s but one)


#12

Sorry - I wasn’t talking about the order of the include paths - I meant that in your code, you should put the line #include “windows.h” before the line #include “juce.h”!

That way, windows.h can’t be affected by anything in juce.h.


#13

[quote=“jules”]Sorry - I wasn’t talking about the order of the include paths - I meant that in your code, you should put the line #include “windows.h” before the line #include “juce.h”!

That way, windows.h can’t be affected by anything in juce.h.[/quote]

Hi,

I followed your advice

in juce_audiofilterbase.h I know have:

[i]#ifndef JUCE_AUDIOFILTERBASE_H

[/i]

and in the juce_audiofilterbase.h I know have:
[i]

…[/i]

May I ask why this doesn’t work for me and why I have to fight with this issue; it would be so much easier if the JuceVstWrapper was distributed without these bugs.

Just starting to loose my patience - sorry

Thomas


#14

neither of those two files use the windows header… if you look at the files as they’re distributed there is not one #include “windows.h” in them.

the only file of them that uses #include “windows.h” is JuceVSTWrapper.cpp - something you’ll learn with a bit of playing is that if you ever need to include windows.h you’ll have far less problems if you only include it in a CPP file and not an H file. This is because you can include an h file any old place, and in any order, and you don’t want to suddenly accidentally have windows appear after juce just when you’re including something else. Keeping that only in the CPP file means that it will not confuse things, and the resulting compilation of that code file will contain only the windows functions used, and not interfere with anything else.

the fix i stated in this thread is all you need to do.


#15

LOL - I accept no responsibility for people sticking their own rubbish into my header files! Hacking the juce header files is NEVER the correct way to solve a problem in your own code!

What I always do in my projects is to create a master include file, in which I put all the external includes, like windows.h, juce.h, etc. Then all your CPP files should include your master header FIRST, and any local ones after it. End of problem.


#16

I’m not really sure about what stoltzo is up too with a-gain and all, but I had to apply haydxns (how do you say that anyway?) fix before I managed to compile the plugin demo. (And I still don’t know why it wants ODBC :shock:)

I think that its a win platfrom sdk version thingy.


#17

‘hay-dn’ - it’s a silent x. TRIVIA: the x is there to blatantly show that there’s no random vowel between the d and the n- everyone always writes hayden or haydon or haydyn and silly stuff like that, but it’s actually just haydn. i feel the x makes it easier to remember? (“is it an o or an e? oh no, it’s a freakin’ X isn’t it!”)


#18

Thanks for sharing :smiley:

My nick is the name of a pretty little white flower that induces vomiting when ingested.


#19