Building JUCE under XP using VC++6


#1

Is there a tutorial anywhere that could walk me through this step by step including the exact link of the most recent platform sdk. I downloaded it last night from http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en

I know if i don’t have the most recent I might get a lot of headaches. So after downloading that last night I try to build JUCE in VC++6 and I get 44 errors and 2 warnings. What I did was I loaded up the /build/win32/vc6/JUCE.dsw then I hit ctrl + f5. Following are the errors I get.

--------------------Configuration: JUCE - Win32 Debug--------------------
Compiling…
juce_LowLevelGraphicsSoftwareRenderer.cpp
c:\juce\src\juce_appframework\gui\graphics\contexts\juce_lowlevelgraphicssoftwarerenderer.cpp(181) : error C2400: inline assembler syntax error in ‘opcode’; found '['
juce_win32_FileChooser.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_filechooser.cpp(375) : error C2440: ‘=’ : cannot convert from ‘unsigned long (stdcall *)(struct HWND *,unsigned int,unsigned int,long)’ to 'unsigned int (stdcall *)(struct HWND *,unsigned
int,unsigned int,long)'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
c:\juce\build\win32\platform_specific_code\juce_win32_filechooser.cpp(414) : error C2440: ‘=’ : cannot convert from ‘unsigned long (stdcall *)(struct HWND *,unsigned int,unsigned int,long)’ to 'unsigned int (stdcall *)(struct HWND *,unsigned
int,unsigned int,long)'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
juce_win32_Files.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_files.cpp(525) : error C2065: ‘CSIDL_COMMON_APPDATA’ : undeclared identifier
juce_win32_Messaging.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_messaging.cpp(124) : error C2065: ‘GWLP_USERDATA’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_messaging.cpp(202) : error C2065: ‘DWORD_PTR’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_messaging.cpp(202) : error C2146: syntax error : missing ‘;’ before identifier 'result’
c:\juce\build\win32\platform_specific_code\juce_win32_messaging.cpp(202) : error C2065: ‘result’ : undeclared identifier
juce_win32_Midi.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_midi.cpp(394) : error C2065: ‘DWORD_PTR’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_midi.cpp(394) : error C2297: ‘&’ : illegal, right operand has type 'void (stdcall *)(struct HMIDIIN *,unsigned int,unsigned long,unsigned long,unsigned long)'
c:\juce\build\win32\platform_specific_code\juce_win32_midi.cpp(395) : error C2146: syntax error : missing ‘)’ before identifier 'thread’
c:\juce\build\win32\platform_specific_code\juce_win32_midi.cpp(396) : error C2059: syntax error : ')'
juce_win32_Network.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_network.cpp(40) : fatal error C1083: Cannot open include file: ‘iphlpapi.h’: No such file or directory
juce_win32_SystemStats.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_systemstats.cpp(238) : error C2065: ‘DWORD_PTR’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_systemstats.cpp(238) : error C2146: syntax error : missing ‘;’ before identifier 'processAffinity’
c:\juce\build\win32\platform_specific_code\juce_win32_systemstats.cpp(238) : error C2065: ‘processAffinity’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_systemstats.cpp(238) : error C2065: ‘systemAffinity’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_systemstats.cpp(277) : warning C4018: ‘<=’ : signed/unsigned mismatch
c:\juce\build\win32\platform_specific_code\juce_win32_systemstats.cpp(343) : error C2065: ‘PF_XMMI64_INSTRUCTIONS_AVAILABLE’ : undeclared identifier
juce_win32_Threads.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_threads.cpp(173) : error C2065: ‘ULONG_PTR’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_threads.cpp(173) : error C2059: syntax error : ')'
juce_win32_Windowing.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(444) : error C2065: ‘VK_OEM_COMMA’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(445) : error C2065: ‘VK_OEM_PLUS’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(446) : error C2065: ‘VK_OEM_MINUS’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(447) : error C2065: ‘VK_OEM_PERIOD’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(448) : error C2065: ‘VK_OEM_2’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(450) : error C2065: ‘VK_OEM_4’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(451) : error C2065: ‘VK_OEM_6’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2084) : error C2065: ‘SetWindowLongPtr’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2065: ‘HMONITOR’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2275: ‘HDC’ : illegal use of this type as an expression
c:\program files\microsoft visual studio\vc98\include\windef.h(239) : see declaration of 'HDC’
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2275: ‘LPRECT’ : illegal use of this type as an expression
c:\program files\microsoft visual studio\vc98\include\windef.h(292) : see declaration of 'LPRECT’
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2146: syntax error : missing ‘)’ before identifier 'r’
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : warning C4229: anachronism used : modifiers on data are ignored
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2078: too many initializers
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2275: ‘LPRECT’ : illegal use of this type as an expression
c:\program files\microsoft visual studio\vc98\include\windef.h(292) : see declaration of 'LPRECT’
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2059: syntax error : ')'
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2121) : error C2143: syntax error : missing ‘;’ before '{'
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2121) : error C2447: missing function header (old-style formal list?)
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2133) : error C2061: syntax error : identifier 'MONITORENUMPROC’
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2136) : error C2197: ‘int (stdcall *)(struct HDC *,const struct tagRECT *)’ : too many actual parameters
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(3405) : error C2065: ‘GetWindowLongPtr’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(3405) : error C2065: ‘GWLP_WNDPROC’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(3406) : error C2065: ‘LONG_PTR’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(3406) : error C2146: syntax error : missing ‘)’ before identifier 'activeXHookWndProc’
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(3406) : error C2059: syntax error : ')'
Generating Code…
Error executing cl.exe.

jucelib_static_Win32_debug.lib - 44 error(s), 2 warning(s)

Any thanks would be greatly appreciated as I’m very eager to start using JUCE.


#2

Have you got all VC6 patches applied? Looks like you’ve not got the mmx extension pack installed there…


#3

To tell you the truth I didn’t know there were VC6 patches. Can you find me a link to what I need so I’m sure I’m getting what I need. Thanks.


#4

Sorry - no idea where you’d find that stuff, it’s been years since I’ve had to use them…


#5

I managed to find this page http://msdn2.microsoft.com/en-us/vstudio/aa718359.aspx and I’m downloading the one titled “Microsoft Service Pack 6 for Visual Studio 6.0.” I hope that’s the most recent and I hope I can build JUCE after.


#6

I downloaded and installed the service pack 6. I still get 44 errors and 2 warnings but they’re oh so slightly different. All i’ve noticed is the last error is different. So I’ll post the error list this time around

--------------------Configuration: JUCE - Win32 Debug--------------------
Compiling…
juce_LowLevelGraphicsSoftwareRenderer.cpp
juce_win32_FileChooser.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_filechooser.cpp(375) : error C2440: ‘=’ : cannot convert from ‘unsigned long (stdcall *)(struct HWND *,unsigned int,unsigned int,long)’ to 'unsigned int (stdcall *)(struct HWND *,unsigned
int,unsigned int,long)'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
c:\juce\build\win32\platform_specific_code\juce_win32_filechooser.cpp(414) : error C2440: ‘=’ : cannot convert from ‘unsigned long (stdcall *)(struct HWND *,unsigned int,unsigned int,long)’ to 'unsigned int (stdcall *)(struct HWND *,unsigned
int,unsigned int,long)'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
juce_win32_Files.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_files.cpp(525) : error C2065: ‘CSIDL_COMMON_APPDATA’ : undeclared identifier
juce_win32_Messaging.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_messaging.cpp(124) : error C2065: ‘GWLP_USERDATA’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_messaging.cpp(202) : error C2065: ‘DWORD_PTR’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_messaging.cpp(202) : error C2146: syntax error : missing ‘;’ before identifier 'result’
c:\juce\build\win32\platform_specific_code\juce_win32_messaging.cpp(202) : error C2065: ‘result’ : undeclared identifier
juce_win32_Midi.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_midi.cpp(394) : error C2065: ‘DWORD_PTR’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_midi.cpp(394) : error C2297: ‘&’ : illegal, right operand has type 'void (stdcall *)(struct HMIDIIN *,unsigned int,unsigned long,unsigned long,unsigned long)'
c:\juce\build\win32\platform_specific_code\juce_win32_midi.cpp(395) : error C2146: syntax error : missing ‘)’ before identifier 'thread’
c:\juce\build\win32\platform_specific_code\juce_win32_midi.cpp(396) : error C2059: syntax error : ')'
juce_win32_Network.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_network.cpp(40) : fatal error C1083: Cannot open include file: ‘iphlpapi.h’: No such file or directory
juce_win32_SystemStats.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_systemstats.cpp(238) : error C2065: ‘DWORD_PTR’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_systemstats.cpp(238) : error C2146: syntax error : missing ‘;’ before identifier 'processAffinity’
c:\juce\build\win32\platform_specific_code\juce_win32_systemstats.cpp(238) : error C2065: ‘processAffinity’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_systemstats.cpp(238) : error C2065: ‘systemAffinity’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_systemstats.cpp(277) : warning C4018: ‘<=’ : signed/unsigned mismatch
c:\juce\build\win32\platform_specific_code\juce_win32_systemstats.cpp(343) : error C2065: ‘PF_XMMI64_INSTRUCTIONS_AVAILABLE’ : undeclared identifier
juce_win32_Threads.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_threads.cpp(173) : error C2065: ‘ULONG_PTR’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_threads.cpp(173) : error C2059: syntax error : ')'
juce_win32_Windowing.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(444) : error C2065: ‘VK_OEM_COMMA’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(445) : error C2065: ‘VK_OEM_PLUS’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(446) : error C2065: ‘VK_OEM_MINUS’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(447) : error C2065: ‘VK_OEM_PERIOD’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(448) : error C2065: ‘VK_OEM_2’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(450) : error C2065: ‘VK_OEM_4’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(451) : error C2065: ‘VK_OEM_6’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2084) : error C2065: ‘SetWindowLongPtr’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2065: ‘HMONITOR’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2275: ‘HDC’ : illegal use of this type as an expression
c:\program files\microsoft visual studio\vc98\include\windef.h(239) : see declaration of 'HDC’
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2275: ‘LPRECT’ : illegal use of this type as an expression
c:\program files\microsoft visual studio\vc98\include\windef.h(292) : see declaration of 'LPRECT’
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2146: syntax error : missing ‘)’ before identifier 'r’
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : warning C4229: anachronism used : modifiers on data are ignored
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2078: too many initializers
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2275: ‘LPRECT’ : illegal use of this type as an expression
c:\program files\microsoft visual studio\vc98\include\windef.h(292) : see declaration of 'LPRECT’
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2120) : error C2059: syntax error : ')'
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2121) : error C2143: syntax error : missing ‘;’ before '{'
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2121) : error C2447: missing function header (old-style formal list?)
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2133) : error C2061: syntax error : identifier 'MONITORENUMPROC’
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(2136) : error C2197: ‘int (stdcall *)(struct HDC *,const struct tagRECT *)’ : too many actual parameters
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(3405) : error C2065: ‘GetWindowLongPtr’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(3405) : error C2065: ‘GWLP_WNDPROC’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(3406) : error C2065: ‘LONG_PTR’ : undeclared identifier
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(3406) : error C2146: syntax error : missing ‘)’ before identifier 'activeXHookWndProc’
c:\juce\build\win32\platform_specific_code\juce_win32_windowing.cpp(3406) : error C2059: syntax error : ')'
Generating Code…
c:\juce\src\juce_appframework\gui\graphics\contexts\juce_lowlevelgraphicssoftwarerenderer.cpp(181) : fatal error C1601: unsupported inline assembly opcode
Error executing cl.exe.

jucelib_static_Win32_debug.lib - 44 error(s), 2 warning(s)

please oh please anyone experienced with Visual Studio help.[/i]


#7

Unless you need to use VC6, I’d recommend VCExpress instead, it’s much more up-to-date.


#8

Will Visual Studio .NET 2003 work better then VC6 or should I get something else?


#9

I’ll try to get my hands on Visual Studio 2005 since Visual Studio 2003 apparently is VS 7 and can’t open the VS8 project files.


#10

I’m very sorry for the big hassle. I was able to dl VC++ Express 2005. I installed it, installed the Platform SDK and then built JUCE with no problems. It built perfectly. Now to actually install JUCE so I can program with it. So in my c:\JUCE\bin\ I have a directory called intermediate_win32 which contains another directory named staticdebug which contains a slew of .sbr and .obj files then in just c:\JUCE\bin there is jucelib_static_Win32_debug.lib What do I need to move and to where? Then when I create a project do I need to change any project settings? Thanks for everything. You’ve been very helpful so far.


#11

After a long road I’ve finally compiled JUCE, compiled and ran the demo projects and created my very own JUCE app. Thanks again for everything. This officially puts an end to this post.

POST ENDED


#12

Glad you got there in the end!

VC6 does work if you install all the right patches and SDKs, but VCExpress seems better to me anyway.


#13

to install <Microsoft Platform SDK October 2002>(Core SDK)…


#14