juce-framework / JUCE

JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
https://juce.com
Other
6.48k stars 1.71k forks source link

[Bug]: Error building ReaperEmbeddedViewDemo on Windows (missing file: 'pluginterfaces/vst2.x/aeffect.h') #1051

Closed dorev closed 2 years ago

dorev commented 2 years ago

Detailed steps on how to reproduce the bug

On Windows 10

The folder vst2.x does not seem to be present in the repository. Looks like it was removed in this commit but there are still dependencies on it in ReaperEmbeddedViewPluginDemo.h when checking for __effEditDrawDeprecated.

What is the expected behaviour?

Build successfully

Operating systems

Windows

What versions of the operating systems?

Windows 10 Home 19043.1586

Architectures

64-bit

Stacktrace

The build log:

2>------ Build started: Project: ReaperEmbeddedViewDemo (examples\Plugins\ReaperEmbeddedViewDemo\ReaperEmbeddedViewDemo), Configuration: Debug x64 ------
2>Main.cpp
2>D:/Git/JUCE/examples/Plugins/ReaperEmbeddedViewPluginDemo.h(70,10): fatal error C1083: Cannot open include file: 'pluginterfaces/vst2.x/aeffect.h': No such file or directory
2>Done building project "ReaperEmbeddedViewDemo.vcxproj" -- FAILED.


### Plug-in formats (if applicable)

VST2

### Plug-in host applications (DAWs) (if applicable)

_No response_

### Testing on the `develop` branch

I have not tested against the `develop` branch

### Code of Conduct

- [X] I agree to follow the Code of Conduct
tpoole commented 2 years ago

The description of that example is:

"An audio plugin which embeds a secondary view in VST2 and VST3 formats in REAPER".

As such, you will need the VST2 SDK to compile the example, as you would any other VST created using JUCE.

ferdnyc commented 2 years ago

@tpoole

The problem is, that plugin is enabled by default in a cmake -B build -S . -DJUCE_BUILD_EXAMPLES=1 run, causing the build to fail.

It doesn't seem like the default example set should require undocumented, unhandled external dependencies. And in fact, none of the other examples fail on missing header files, even building on Linux. (Several other VST plugin examples are built by default, using the headers at modules/juce_audio_processors/format_types/VST3_SDK/.)