Juce on Eclipse--ultra newbie question


#1

Hi All:

I’m a java developer, but spanking new to C++.

I’m just trying to get the basic 4-file program from the sticky working in the Eclipse IDE for C++. I figured out how to get the path to the Juce files listed in the ‘INCLUDES’ part of the tree, but Eclipse still doesn’t seem to be able to resolve them. I basically just unzipped the juce tree into a folder, and pointed to that. Is there something different I should do?

Any sense what I may be doing wrong?

Thanks!
-eric


#2

Okay, figured one thing out. I had it in the wrong include area. Now I am seeing juce.h, but I get an error at:

START_JUCE_APPLICATION(AppClass)

It says it’s a syntax error. It’s not a syntax I know, but that’s not saying much!

Before that, I’m getting all kinds of errors at the AppClass destructor, and almost everything in the window files is not found.

I’m guessing there’s some process for recognizing the whole file tree, and correctly getting it all set up. I’ll reread the instructions for VC, and see if I get any ideas…


#3

Okay, after reading more posts on this forum, it sounds like I should be working from MS tools… I’m all for open source, and Eclipse works great for my java stuff, but it looks to be beyond my scope to get anything working in Eclipse, at least until I understand C++ better.

So I’ll try that…


#4

Yes, trying to port a framework to an unsupported compiler when you’ve not yet figured out c++ does sound a bit ambitious!


#5

I had Juce working on Linux in Eclipse, but it wasn’t great. I changed to Code::Blocks and it was better, but if you’re on Windows, best to use a system with a ready to-go project file.

I was using VC++ Express last. It’s free and seemed to work well.

But C++ is always a fight with includes, paths, defines etc. when you move to a new IDE.

Bruce


#6

as Kenneth C. Dyke said somewhere…

:smiley:


#7

Thanks all for the kind responses. But as ever, a little RTFM was in order…

I missed the line about ‘check the JUCE readMe files’ in the instructions.

Okay then.

Still going to try with VC instead of Eclipse, but I was missing the first 40 or so steps in the process either way.

cheers!
-e


#8

Okay, I have followed the readme to the best of my ability. There seems to be a new version of VCExpress since it was written, however.

Here’s what I got in my first build attempt:

Compiling…
ApplicationStartup.cpp
BinaryData.cpp
juce_LibrarySource.cpp
d:\code\juce\juce_amalgamated.cpp(18228) : fatal error C1083: Cannot open include file: ‘Movies.h’: No such file or directory
MainDemoWindow.cpp
AudioDemo.cpp
DragAndDropDemo.cpp
FontsAndTextDemo.cpp
InterprocessCommsDemo.cpp
OpenGLDemo.cpp
PathsAndTransformsDemo.cpp
QuickTimeDemo.cpp
TableDemo.cpp
Generating Code…

Any ideas what I screwed up???
Thanks!
-eric


#9

okay, I tried the process from the sticky, and once again, it seems to be out of date. I couldn’t find any of the configuration stuff for debug or release.

I get this error:

1>LINK : fatal error LNK1104: cannot open file 'jucelib_static_Win32_debug.lib’
1>Build log was saved at "file://d:\CODE\Visual Studio 2008\Projects\JuceTest\JuceTest\Debug\BuildLog.htm"
1>JuceTest - 1 error(s), 0 warning(s)

Okay, enough Juce attempts for today. Time for some ultra-basic tutorials in VC–maybe I’ll figure out what some of this terminology means.

cheers!
-eric


#10

[quote=“woodslanding”]
d:\code\juce\juce_amalgamated.cpp(18228) : fatal error C1083: Cannot open include file: ‘Movies.h’: No such file or directory

Any ideas what I screwed up???
Thanks!
-eric[/quote]

there are some threads about this in the forum. also this is documented in the juce files at the appropriate point (i don’t remember where actually right now), but i’m sure you will find this in the forum. solution is quite easy.


#11

If you take a look at the line where the error happens, you’ll see a helpful comment right above it, explaining what’s going on!..


#12

Okay, successfully compiled and ran the jucedemo and the plugin host.

Yay!

But, in trying out the project from the starting point guide, I’m still getting the
jucelib_static_Win32_debug error I mentioned above. And if I add juce/bin to my LIB paths, I get a bunch of duplicated class errors:

1>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: __thiscall std::exception::exception(char const * const &)" (??0exception@std@@QAE@ABQBD@Z) already defined in MSVCRTD.lib(MSVCR90D.dll) 1>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: __thiscall std::exception::exception(class std::exception const &)" (??0exception@std@@QAE@ABV01@@Z) already defined in MSVCRTD.lib(MSVCR90D.dll) 1>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual __thiscall std::exception::~exception(void)" (??1exception@std@@UAE@XZ) already defined in MSVCRTD.lib(MSVCR90D.dll)

So not sure if I should be using this path or not (??!) maybe I have some other lib path set that I shouldn’t be using…

I’m using the latest VC Express. I found a reference to the second problem in these forums, but that involved changing the setting ‘multi-threaded debug dll’ to not use a dll. But this setting doesn’t seem to exist in VC Express. Or it’s been moved somewhere I can’t find it.

Thanks, as ever for any tips!
-eric
[/code]


#13

Okay, I did find out where to set the multithreaded debug to non-dll, but that hasn’t helped the problem. So I guess it’s somewhere in the paths… maybe somebody knows which library I have wrongly included?? I searched my whole computer for MSVCR90D.dll, and turned up nothing.


#14

Hey,
I am just getting started with code blocks (downloaded the 8.02)
and actually it works quite well, maybe you should give it a try.
Theres a codeblocks project file in build\win32\codeblocks

I get some errors with the forcedinline define though,
which i could avoid by changing juce_PlatformDefs.h at that point "
(#define forcedinline inline )

Now it compiles ok, but would it work.
–> are there unit tests for this library so that i can check compiler compliancy ??

–> I just compiled and ran the juce demo, seems to work fine…
at last i am freed from M$ tools for my windows c++ development :slight_smile:

Good thing, Jules, this is really great…
I will experiment with audio a little bit the coming weeks.
If i can make anything useful i will upload the code, is there a repository ?


#15

These are my library paths:

(VCInstallDir)lib (VCInstallDir)atlmfc\lib
(VCInstallDir)atlmfc\lib\i386 (WindowsSdkDir)lib
(FrameworkSdkDir)lib (VSInstallDir)
$(VSInstallDir)lib
C:\Program Files\QuickTime\QuicktimeSDK\Libraries
C:\Program Files\QuickTime
D:\CODE\juce\bin

And these are my include files:

(VCInstallDir)Include (VCInstallDir)atlmfc\Include
(WindowsSdkDir)Include (FrameworkSdkDir)Include
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\crt
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\mfc
C:\Program Files\QuickTime\QuicktimeSDK\CIncludes
C:\Program Files\QuickTime\QuicktimeSDK\ComponentIncludes
D:\CODE\vstsdk2.4
D:\CODE\ASIOSDK2\common
D:\CODE\juce

Anything look suspicious there?

Thanks!
-eric


#16

Okay, I finally understand how the project preferences window layout works, and got the debug DLL turned off for both ‘debug’ and ‘release’ (still not at all sure what those terms mean) and now I am able to run the demo.

Thanks for the help!! Looking forward to stumbling around at the next level!

-e


#17

Can’t see any obvious bloopers, but this sort of thing is usually a mis-match between your headers and libs, thanks to MS having so many almost-but-not-quite-identical SDKs. Maybe as you’ve got the Microsoft SDK headers in there, you should be using the corresponding libs?