Current tip doesn't build on Linux?


#1

Hi there!

Just checked out the latest tip, noticed you switched to git now. Tried to build on Linux, got this error:

$ git clone git://juce.git.sourceforge.net/gitroot/juce/juce juce-git Initialized empty Git repository in /home/johannes/code/juce-git/.git/ remote: Counting objects: 21971, done. remote: Compressing objects: 100% (5831/5831), done. remote: Total 21971 (delta 17463), reused 19972 (delta 15817) Receiving objects: 100% (21971/21971), 54.09 MiB | 428 KiB/s, done. Resolving deltas: 100% (17463/17463), done. $ cd juce-git/build/linux/ $ make -j2 ==== Building JUCE ==== juce_FileLogger.cpp juce_PerformanceCounter.cpp juce_Time.cpp [ . . . ] juce_linux_Windowing.cpp juce_linux_Messaging.cpp juce_linux_NativeCode.cpp In file included from ../../src/native/juce_linux_NativeCode.cpp:107: ../../src/native/linux/juce_linux_Windowing.cpp: In member function ‘void juce::Desktop::createMouseInputSources()’: ../../src/native/linux/juce_linux_Windowing.cpp:2672: error: invalid use of incomplete type ‘struct juce::MouseInputSource’ ../../src/native/../gui/components/filebrowser/../mouse/juce_MouseEvent.h:30: error: forward declaration of ‘struct juce::MouseInputSource’ make[1]: *** [../../bin/intermediate_linux/Debug/juce_linux_NativeCode.o] Error 1 make: *** [JUCE] Error 2 $ git show-branch [master] More mouse input refactoring.

The branch message says something about mouse input refactoring, the compile problem is in mouse-related files, so this may be a temporary thing. Thought I’d report it anyway.

Keep up the good work


#2

yes there is a typo in there, add the include of juce_MouseInputSource.h file in juce_linux_NativeCode.cpp and you are done


#3

You’re right, this fixes it:

[code] git diff juce_linux_NativeCode.cpp
diff --git a/src/native/juce_linux_NativeCode.cpp b/src/native/juce_linux_NativeCode.cpp
index 048d811…c4c3f2d 100644
— a/src/native/juce_linux_NativeCode.cpp
+++ b/src/native/juce_linux_NativeCode.cpp
@@ -79,6 +79,7 @@ BEGIN_JUCE_NAMESPACE
#include “…/gui/components/mouse/juce_DragAndDropContainer.h”
#include “…/gui/components/special/juce_SystemTrayIconComponent.h”
#include “…/application/juce_Application.h”
+#include “…/gui/components/mouse/juce_MouseInputSource.h”

/* Remove this macro if you’re having problems compiling the cpu affinity
calls (the API for these has changed about quite a bit in various Linux
[/code]
Great.

BTW, kraken, have you added the missing Wolpertinger readme file in your repository yet?


#4

Yeah, Kraken,what about a fresh update of juced? We’re stuck!


#5

Wolpertinger is a VST I wrote, kraken added it to his repo and forgot to include the readme file. No big deal, just include the file, kraken… That is, if you really want to “mirror” the code (I don’t see the point, but who cares).

Noticed that GradientBrush and related stuff is still missing in Juced :-/ That would be worth adding, because it’s needed to use most of the Graphics stuff in The Jucer.


#6

I’m waiting for gradientBrush too. I’m currently developing a new app, like Jost, and I’d like to upload it.
I wrote also some stuff in Jost (subgraphs, some effects), but I’m waiting for a proper release of it.
At the moment there are no prebuilt releases available for download. Only a lot of code!


#7

This happens with the latest GIT on windows too. And kraken’s fix will sort it out and it now build fine for me. However I get juce::string errors when I try to build my projects: utilities.h(69) : error C2039: ‘<<’ : is not a member of ‘juce::String’


#8

operator<< isn’t a member of String any more - it’s now a global binary operator, which is the correct way to write binary ops like << and +.

Shouldn’t affect your code though, unless you’re explicitly trying to call it - what’s the offending line?


#9

I was calling it directly, whoops. Easy thing to change, it’s working fine now. Cheers.