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.
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.
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.
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.
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.