Building JUCE under XP using VC++6

For Windows specific issues

Building JUCE under XP using VC++6

Postby mctuble » Thu Apr 05, 2007 1:43 pm

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/deta ... laylang=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.
mctuble
JUCE Geek
 
Posts: 24
Joined: Thu Apr 05, 2007 1:26 pm

Postby jules » Thu Apr 05, 2007 2:43 pm

Have you got all VC6 patches applied? Looks like you've not got the mmx extension pack installed there..
User avatar
jules
Fearless Leader
 
Posts: 17192
Joined: Mon Sep 06, 2004 9:03 am
Location: London, UK

Postby mctuble » Thu Apr 05, 2007 3:01 pm

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.
mctuble
JUCE Geek
 
Posts: 24
Joined: Thu Apr 05, 2007 1:26 pm

Postby jules » Thu Apr 05, 2007 4:22 pm

Sorry - no idea where you'd find that stuff, it's been years since I've had to use them..
User avatar
jules
Fearless Leader
 
Posts: 17192
Joined: Mon Sep 06, 2004 9:03 am
Location: London, UK

Postby mctuble » Thu Apr 05, 2007 4:31 pm

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.
mctuble
JUCE Geek
 
Posts: 24
Joined: Thu Apr 05, 2007 1:26 pm

Postby mctuble » Thu Apr 05, 2007 5:17 pm

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]
mctuble
JUCE Geek
 
Posts: 24
Joined: Thu Apr 05, 2007 1:26 pm

Postby jules » Thu Apr 05, 2007 5:23 pm

Unless you *need* to use VC6, I'd recommend VCExpress instead, it's much more up-to-date.
User avatar
jules
Fearless Leader
 
Posts: 17192
Joined: Mon Sep 06, 2004 9:03 am
Location: London, UK

Postby mctuble » Thu Apr 05, 2007 7:27 pm

Will Visual Studio .NET 2003 work better then VC6 or should I get something else?
mctuble
JUCE Geek
 
Posts: 24
Joined: Thu Apr 05, 2007 1:26 pm

Postby mctuble » Thu Apr 05, 2007 9:26 pm

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.
mctuble
JUCE Geek
 
Posts: 24
Joined: Thu Apr 05, 2007 1:26 pm

Postby mctuble » Fri Apr 06, 2007 4:30 am

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.
mctuble
JUCE Geek
 
Posts: 24
Joined: Thu Apr 05, 2007 1:26 pm

Postby mctuble » Fri Apr 06, 2007 5:13 am

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*
mctuble
JUCE Geek
 
Posts: 24
Joined: Thu Apr 05, 2007 1:26 pm

Postby jules » Fri Apr 06, 2007 10:00 am

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.
User avatar
jules
Fearless Leader
 
Posts: 17192
Joined: Mon Sep 06, 2004 9:03 am
Location: London, UK

Re: Building JUCE under XP using VC++6

Postby pigkiller12 » Tue Nov 15, 2011 1:56 am

to install <Microsoft Platform SDK October 2002>(Core SDK)...
pigkiller12
JUCE Weenie
 
Posts: 1
Joined: Tue Nov 15, 2011 1:51 am


Return to Windows

Who is online

Users browsing this forum: No registered users and 0 guests