Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move to JUCE 8.0.4 or later (was: Does not build on macos 15) #162

Open
ohcibi opened this issue Jan 2, 2025 · 3 comments
Open

Move to JUCE 8.0.4 or later (was: Does not build on macos 15) #162

ohcibi opened this issue Jan 2, 2025 · 3 comments

Comments

@ohcibi
Copy link

ohcibi commented Jan 2, 2025

I tried to clone and build the project as explained in the readme and at cmake -b build it fails with

CMake Error at lib/JUCE/extras/Build/juceaide/CMakeLists.txt:134 (message):
  Failed to build juceaide

  [ 12%] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/Main.cpp.o


  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/extras/Build/juceaide/Main.cpp:581:5:
  warning: non-void lambda does not return a value in all control paths
  [-Wreturn-type]

    581 |     });
        |     ^

  1 warning generated.

  [ 25%] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/juce_build_tools/juce_build_tools.cpp.o


  [ 37%] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_gui_basics/juce_gui_basics.mm.o


  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.mm:26:


  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:158:



  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/native/juce_PerScreenDisplayLinks_mac.h:110:52:
  warning: 'CVDisplayLinkCreateWithCGDisplay' is deprecated: first deprecated
  in macOS 15.0 - use NSView.displayLink(target:selector:),
  NSWindow.displayLink(target:selector:), or
  NSScreen.displayLink(target:selector:) [-Wdeprecated-declarations]

    110 |               [[maybe_unused]] const auto result = CVDisplayLinkCreateWithCGDisplay (display, &ptr);
        |                                                    ^


  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVDisplayLink.h:89:20:
  note: 'CVDisplayLinkCreateWithCGDisplay' has been explicitly marked
  deprecated here

     89 | CV_EXPORT CVReturn CVDisplayLinkCreateWithCGDisplay(
        |                    ^

  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.mm:26:


  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:158:



  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/native/juce_PerScreenDisplayLinks_mac.h:128:54:
  warning: 'CVDisplayLinkSetOutputCallback' is deprecated: first deprecated
  in macOS 15.0 - use NSView.displayLink(target:selector:),
  NSWindow.displayLink(target:selector:), or
  NSScreen.displayLink(target:selector:) [-Wdeprecated-declarations]

    128 |         [[maybe_unused]] const auto callbackResult = CVDisplayLinkSetOutputCallback (link.get(), callback, this);
        |                                                      ^


  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVDisplayLink.h:143:20:
  note: 'CVDisplayLinkSetOutputCallback' has been explicitly marked
  deprecated here

    143 | CV_EXPORT CVReturn CVDisplayLinkSetOutputCallback( CVDisplayLinkRef CV_NONNULL displayLink, CVDisplayLinkOutputCallback CV_NULLABLE callback, void * CV_NULLABLE userInfo );
        |                    ^

  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.mm:26:


  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:158:



  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/native/juce_PerScreenDisplayLinks_mac.h:131:51:
  warning: 'CVDisplayLinkStart' is deprecated: first deprecated in macOS 15.0
  - use NSView.displayLink(target:selector:),
  NSWindow.displayLink(target:selector:), or
  NSScreen.displayLink(target:selector:) [-Wdeprecated-declarations]

    131 |         [[maybe_unused]] const auto startResult = CVDisplayLinkStart (link.get());
        |                                                   ^


  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVDisplayLink.h:164:20:
  note: 'CVDisplayLinkStart' has been explicitly marked deprecated here

    164 | CV_EXPORT CVReturn CVDisplayLinkStart( CVDisplayLinkRef CV_NONNULL displayLink );
        |                    ^

  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.mm:26:


  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:158:



  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/native/juce_PerScreenDisplayLinks_mac.h:138:13:
  warning: 'CVDisplayLinkStop' is deprecated: first deprecated in macOS 15.0
  - use NSView.displayLink(target:selector:),
  NSWindow.displayLink(target:selector:), or
  NSScreen.displayLink(target:selector:) [-Wdeprecated-declarations]

    138 |             CVDisplayLinkStop (link.get());
        |             ^


  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVDisplayLink.h:173:20:
  note: 'CVDisplayLinkStop' has been explicitly marked deprecated here

    173 | CV_EXPORT CVReturn CVDisplayLinkStop( CVDisplayLinkRef CV_NONNULL displayLink );
        |                    ^

  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.mm:26:


  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:158:



  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/native/juce_PerScreenDisplayLinks_mac.h:145:48:
  warning: 'CVDisplayLinkGetNominalOutputVideoRefreshPeriod' is deprecated:
  first deprecated in macOS 15.0 - use NSView.displayLink(target:selector:),
  NSWindow.displayLink(target:selector:), or
  NSScreen.displayLink(target:selector:) [-Wdeprecated-declarations]

    145 |         const auto nominalVideoRefreshPeriod = CVDisplayLinkGetNominalOutputVideoRefreshPeriod (link.get());
        |                                                ^


  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVDisplayLink.h:182:18:
  note: 'CVDisplayLinkGetNominalOutputVideoRefreshPeriod' has been explicitly
  marked deprecated here

    182 | CV_EXPORT CVTime CVDisplayLinkGetNominalOutputVideoRefreshPeriod( CVDisplayLinkRef CV_NONNULL displayLink );
        |                  ^

  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.mm:26:


  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:158:



  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/native/juce_PerScreenDisplayLinks_mac.h:159:17:
  warning: 'CVDisplayLinkRelease' is deprecated: first deprecated in macOS
  15.0 - use NSView.displayLink(target:selector:),
  NSWindow.displayLink(target:selector:), or
  NSScreen.displayLink(target:selector:) [-Wdeprecated-declarations]

    159 |                 CVDisplayLinkRelease (ptr);
        |                 ^


  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVDisplayLink.h:249:16:
  note: 'CVDisplayLinkRelease' has been explicitly marked deprecated here

    249 | CV_EXPORT void CVDisplayLinkRelease( CV_RELEASES_ARGUMENT CVDisplayLinkRef CV_NULLABLE displayLink );
        |                ^

  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.mm:26:


  In file included from
  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:161:



  /Users/ohcibi/Documents/Projects/stochas/lib/JUCE/modules/juce_gui_basics/native/juce_Windowing_mac.mm:532:33:
  error: 'CGWindowListCreateImage' is unavailable: obsoleted in macOS 15.0 -
  Please use ScreenCaptureKit instead.

    532 |         CGImageRef screenShot = CGWindowListCreateImage (CGRectNull,
        |                                 ^


  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGWindow.h:271:33:
  note: 'CGWindowListCreateImage' has been explicitly marked unavailable here

    271 | CG_EXTERN CGImageRef __nullable CGWindowListCreateImage(CGRect screenBounds,
        |                                 ^

  6 warnings and 1 error generated.

  gmake[2]: ***
  [extras/Build/juceaide/CMakeFiles/juceaide.dir/build.make:107:
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_gui_basics/juce_gui_basics.mm.o]
  Error 1

  gmake[1]: *** [CMakeFiles/Makefile2:148:
  extras/Build/juceaide/CMakeFiles/juceaide.dir/all] Error 2

  gmake: *** [Makefile:136: all] Error 2
@baconpaul
Copy link
Contributor

Oooh thanks. Whats' the Xcode version?

@baconpaul
Copy link
Contributor

Oh this is because we are on JUCE 7.0.12 and need to move to 8.0.4 to build with this compiler.

https://forum.juce.com/t/fixed-juce-not-compiling-in-sequoia-15-0/62868

I'll change the subject line.

@baconpaul baconpaul changed the title Does not build on macos 15 Move to JUCE 8.0.4 or later (was: Does not build on macos 15) Jan 2, 2025
@ohcibi
Copy link
Author

ohcibi commented Jan 25, 2025

Oh this is because we are on JUCE 7.0.12 and need to move to 8.0.4 to build with this compiler.

Ye. I figured its rather clear that it is something like that but I have not much experience with building VSTs nor with building cpp projects in general, so I left it uncommented 😂

Sorry for not responding. Xcode version is 16.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants