Hello.
Clearly, I'm new to JUCE (but not new to C++ or programming in general).
I have 3 desktops, 2 laptops, 1 tablet and 1 smartphone. Out of all those, I was only able to get The Introjucer to compile on one: A Linux desktop.
The Web-site suggests, that we should let you know, if anything does not work out-of-the-box.
Well after compiling the Debug target of The Introjucer, I found that it only briefly seems to show the outline of a window, and then segfaults. Here is the debug output:
dirk@Walnut:~/Desktop/My_Programs/juce/extras/Introjucer/Builds/CodeBlocks/bin/Debug$ gdb "./The Introjucer" GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu"... (gdb) run Starting program: /home/dirk/Desktop/My_Programs/juce/extras/Introjucer/Builds/CodeBlocks/bin/Debug/The Introjucer [Thread debugging using libthread_db enabled] JUCE v3.0.8 [New Thread 0xb76e76c0 (LWP 19649)] ********************************************************** Introjucer 3.1.0 --- Build date: Sep 24 2014 Log started: 24 Sep 2014 9:01:02pm [New Thread 0xb769fb90 (LWP 19652)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb76e76c0 (LWP 19649)] 0x080595d8 in juce::Atomic<int>::operator++ (this=Cannot access memory at address 0x1 ) at /home/dirk/Desktop/My_Programs/juce/modules/juce_gui_extra/../juce_gui_basics/../juce_graphics/../juce_core/memory/juce_Atomic.h:327 327 : (Type) __sync_add_and_fetch ((int64_t*) &value, 1);(gdb) backtrace #0 0x080595d8 in juce::Atomic<int>::operator++ (this=Cannot access memory at address 0x1 ) at /home/dirk/Desktop/My_Programs/juce/modules/juce_gui_extra/../juce_gui_basics/../juce_graphics/../juce_core/memory/juce_Atomic.h:327 #1 0x0808f796 in juce::ReferenceCountedObject::incReferenceCount (this=Cannot access memory at address 0x1 ) at /home/dirk/Desktop/My_Programs/juce/modules/juce_gui_extra/../juce_gui_basics/../juce_graphics/../juce_core/memory/juce_ReferenceCountedObject.h:76 #2 0x083e5cb0 in juce::ReferenceCountedObjectPtr<juce::Font::SharedFontInternal>::incIfNotNull ( o=0x3f800000) at /home/dirk/Desktop/My_Programs/juce/modules/juce_graphics/../juce_core/memory/juce_ReferenceCountedObject.h:360 #3 0x083f9b25 in juce::ReferenceCountedObjectPtr<juce::Font::SharedFontInternal>::operator= ( this=0x90d0d84, newObject=0x3f800000) at /home/dirk/Desktop/My_Programs/juce/modules/juce_graphics/../juce_core/memory/juce_ReferenceCountedObject.h:296 #4 0x083f9b7a in juce::ReferenceCountedObjectPtr<juce::Font::SharedFontInternal>::operator= (this=Cannot access memory at address 0x1 ) at /home/dirk/Desktop/My_Programs/juce/modules/juce_graphics/../juce_core/memory/juce_ReferenceCountedObject.h:274 #5 0x08376fb5 in juce::Font::operator= (this=0x90d0d84, other=@0xbff8f0d0) at /home/dirk/Desktop/My_Programs/juce/modules/juce_graphics/fonts/juce_Font.cpp:275 #6 0x083f9f35 in juce::RenderingHelpers::StackBasedLowLevelGraphicsContext<juce::RenderingHelpers::SoftwareRendererSavedState>::setFont (this=0x90d0380, newFont=@0xbff8f0d0) at /home/dirk/Desktop/My_Programs/juce/modules/juce_graphics/native/juce_RenderingHelpers.h:2668 #7 0x0836f513 in drawGlyphWithFont (g=@0xbff8f6c8, glyph=70, font=@0xbff8f0d0, t=@0x413ecccd) at /home/dirk/Desktop/My_Programs/juce/modules/juce_graphics/fonts/juce_GlyphArrangement.cpp:81 ---Type <return> to continue, or q <return> to quit---
Any ideas?
Dirk
P.S., FWIW, I can compile the JuceDemo fine from the Makefile, out of which the GUI displays, and most of the demos run. The demos which didn't run, were both the 3D and the 2D OpenGL demos - crashing instead of falling back to anything - and the Web-browser, which simply displays nothing. Thus, in the file named 'juce_opengl.h' , I commented out a line like so:
//#define JUCE_OPENGL 1
which removed the offending demo-entries when I ran 'make' again. However, doing so and recompiling The Introjucer , produced absolutely no change. It still compiles fine, but then crashes when run.