steinbergmedia / vstgui

A user interface toolkit mainly for audio plug-ins
Other
850 stars 121 forks source link

Issue when building with Xcode 14.3 #296

Closed ypujante closed 1 year ago

ypujante commented 1 year ago

I am reporting here the error I already reported in the forums

When building with Xcode 14.3, getting this error:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -ivfsstatcache /var/folders/tf/m4rdbfnj3k96qdhy3_lcr7t80000gn/C/com.apple.DeveloperTools/14.3-14E222b/Xcode/SDKStatCaches.noindex/macosx13.3-22E245-.sdkstatcache -target x86_64-apple-macos10.14 -fmessage-length\=225 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\=0 -fcolor-diagnostics -stdlib\=libc++ -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wno-float-conversion -Wno-non-literal-null-conversion -Wno-objc-literal-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -Wno-implicit-fallthrough -DCMAKE_INTDIR\=\"Debug\" -DVSTGUI_LIVE_EDITING -DDEBUG -DVSTGUI_ENABLE_DEPRECATED_METHODS\=1 -DVSTGUI_ENABLE_XML_PARSER\=1 -DVSTGUI_OPENGL_SUPPORT\=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -g -Wno-sign-conversion -Wno-infinite-recursion -Wno-move -Wno-comma -Wno-block-capture-autoreleasing -Wno-strict-prototypes -Wno-range-loop-analysis -Wno-semicolon-before-method-body -I/Users/ypujante/tmp/vst-sam-spl-64/build/lib/Debug/include -I/Users/ypujante/tmp/vst-sam-spl-64/build/libsndfile-build/src -I/Users/ypujante/tmp/vst-sam-spl-64/build/r8brain-free-src -I/Users/ypujante/tmp/vst-sam-spl-64/build/build/vstgui.build/Debug/DerivedSources-normal/x86_64 -I/Users/ypujante/tmp/vst-sam-spl-64/build/build/vstgui.build/Debug/DerivedSources/x86_64 -I/Users/ypujante/tmp/vst-sam-spl-64/build/build/vstgui.build/Debug/DerivedSources -F/Users/ypujante/tmp/vst-sam-spl-64/build/lib/Debug -fvisibility\=hidden -fvisibility-inlines-hidden -DSMTG_RENAME_ASSERT\=1 -Winconsistent-missing-override -Werror\=return-type -ffast-math -ffp-contract\=fast -stdlib\=libc++ -Wall -Werror -std\=gnu++17 -MMD -MT dependencies -MF /Users/ypujante/tmp/vst-sam-spl-64/build/build/vstgui.build/Debug/Objects-normal/x86_64/vstguidebug.d --serialize-diagnostics /Users/ypujante/tmp/vst-sam-spl-64/build/build/vstgui.build/Debug/Objects-normal/x86_64/vstguidebug.dia -c /Users/Shared/Steinberg/VST_SDK.3.7.5/vstgui4/vstgui/lib/vstguidebug.cpp -o /Users/ypujante/tmp/vst-sam-spl-64/build/build/vstgui.build/Debug/Objects-normal/x86_64/vstguidebug.o
In file included from /Users/Shared/Steinberg/VST_SDK.3.7.5/vstgui4/vstgui/lib/vstguidebug.cpp:5:
In file included from /Users/Shared/Steinberg/VST_SDK.3.7.5/vstgui4/vstgui/lib/vstguidebug.h:7:
/Users/Shared/Steinberg/VST_SDK.3.7.5/vstgui4/vstgui/lib/vstguibase.h:350:16: error: no member named 'move' in namespace 'std'; did you mean 'modf'?
                *this = std::move (op);
                        ~~~~~^~~~
                             modf
In file included from /Users/Shared/Steinberg/VST_SDK.3.7.5/vstgui4/vstgui/lib/vstguidebug.cpp:5:
In file included from /Users/Shared/Steinberg/VST_SDK.3.7.5/vstgui4/vstgui/lib/vstguidebug.h:7:
In file included from /Users/Shared/Steinberg/VST_SDK.3.7.5/vstgui4/vstgui/lib/vstguibase.h:141:

If I add:

#include <utility>

to VST_SDK.3.7.5/vstgui4/vstgui/lib/vstguibase.h

it fixes the issue.

std::move is defined in <utility> (see std::move) and it is missing from vstguibase.h. Why it is working in an older version of Xcode is probably due to the order in which things get included…

I know I use an older version of the vst sdk, that being said, as of this writing, this include is not present in the file while still using std::move.

scheffle commented 1 year ago

This is already fixed in VSTGUI 4.12.3.