VisualC++ Express wont compile JUCE


#1

Now given that Jules figures that the odd minimise problem I’ve been getting is due to some confusion between different versions of MS libraries (or MinGW ports of said), I tried doing the JUCE build through MSVC Express.

Something is defintely not right with my setup here:

MSVC++ 2005 Express (beta 1 – is there an earlier non-beta version somewhere?)

WinXPSP2 Platform SDK (everything installed)

MS Server 2003 SDK (the only one I could find available) – everything installed.

MSVC configured as dexribed in the the “Building JUCE for Win32 doc”

Interestingly the doc for vs6 and devc++ suggests that the Platform SDK should have a win64 directory inside include. However, I only have that directory for the Microsoft SDK includes. Is this a typo in the doc or are MS just out to piss me off?

Heres the failure list from a build attempt:

------ Build started: Project: JUCE, Configuration: Debug Win32 ------
Compiling...
juce_String.cpp
c:\juce\src\juce_core\text\juce_String.cpp(301) : error C2664: 'wcslen' : cannot convert parameter 1 from 'const juce_wchar *const ' to 'const wchar_t *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
c:\juce\src\juce_core\text\juce_String.cpp(307) : error C2664: 'wcstombs' : cannot convert parameter 2 from 'const juce_wchar *const ' to 'const wchar_t *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
c:\juce\src\juce_core\text\juce_String.cpp(359) : error C2664: 'wcstombs' : cannot convert parameter 2 from 'const juce_wchar *const ' to 'const wchar_t *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
c:\juce\src\juce_core\text\juce_String.cpp(578) : error C2664: 'mbstowcs' : cannot convert parameter 1 from 'juce_wchar *' to 'wchar_t *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
c:\juce\src\juce_core\text\juce_String.cpp(608) : error C2664: 'mbstowcs' : cannot convert parameter 1 from 'juce_wchar *const ' to 'wchar_t *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
juce_win32_DirectSound.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_DirectSound.cpp(35) : fatal error C1083: Cannot open include file: 'dsound.h': No such file or directory
juce_win32_PlatformUtils.cpp
c:\juce\build\win32\platform_specific_code\juce_win32_PlatformUtils.cpp(228) : error C2664: 'void JUCE::String::copyToBuffer(char *const ,const int) throw() const' : cannot convert parameter 1 from 'WCHAR *' to 'char *const '
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Generating Code...
Build log was saved at "file://c:\juce\bin\intermediate_win32\staticdebug\BuildLog.htm"
JUCE - 7 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

someone throw a dog a clue bone… :frowning:


#2

is msvc++ 2005 public beta/free?

if so…


#3

Found it…

Ill nail this prob by tommorow :slight_smile:


#4

Wow awesome IDE…

very neat.


#5

I can’t help you with the string errors, but I’m pretty sure you’ll need the DirectX SDK (forgotten the link) to get directsound working. Last time I checked it was something like a 200MB download though - I’ve just been excluding the juce_win32_DirectSound.cpp file from my JUCE lib (56k modem, MSVC v5) - it seems to compile fine without directsound support.

  • Niall.

#6

I’m gonna try VC++ Express as well… The thing I hate is that you have to load all this insanely bloated MS crap. Hell, I can’t even download the stupid shit with Firefox. Bastards!

in any case, I’ll report back anything new… does anyone know of the beta has an expiration?


#7

No, you shouldn’t need the whole DirectX SDK, there’s enough in the platform SDK and Visual Studio libraries to cover juce’s needs.

I’m just getting the very latest platform SDK now, so try it under VC Express.


#8

I got it all to compile using mostly the Microsoft Core SDK stuff… but that was missing dsound.h, shlwapi.h and odbc.lib … so I downloaded the Platform Update. That had shlwapi.h and odbc.lib, but no dsound.h.

The standard VC++Express files don’t have dsound.h either. So it looks like you have to get the directx sdk afterall. I’m downloading that now…

Hopefully I can place the missing stuff into the Microsoft Core SDK dir and then uninstall the gig of shit MS has put on my machine.


#9

I’m gonna put together a little “personal” kit so that all you have to do is download the Core SDK from the MS site… then download this little kit with the 4 needed files (dsound.h, dsound.lib, odbc32.lib, shlwapi.h)… and be done with it. MS has installed like a gig of crap on my machine… this is what makes me loathe MS.


#10

okee doke… it’s done… I posted the directions in the windows forum… along with a link to the missing files pack (which covers the direct-x stuff). Just install the pack into your “Microsoft SDK” directory.


#11

:smiley: well this is great to read, seeing as i face exactly the same problems! :hihi: i’ve just managed to get hold of the shlwapi bit from ms but am still trying to hunt down the dsound.h file :cry: your link is no longer there mod :frowning:

oh well, nearly there all the same


#12

w00t a hunt thru my backup DVD-Rs shows my canny foresight with a stack of downloaded SDKs, including directx8… not the latest but should have the file i need in there.

i am almost there! nearly time to bring my programming skills to the table too!


#13

spadge-tastic… the last piece was the odbc32.lib file, which i found in the MSDAC part of the platform SDK i downloaded. ping pong!


#14