igorski / transformant

VST plugin that acts as a multi channel formant filter
https://www.igorski.nl/download/transformant
MIT License
40 stars 4 forks source link

VST3 Complile error with vst sdk_3.7.7_build-19_2022-12-12 #5

Closed artrz closed 1 year ago

artrz commented 1 year ago

Hi @igorski. I just found your plugins and the seem so sonically interesting and well crafted, congrats!

I built (on Debian Sid, cmake 3.25.1) Darvaza, Fogpad, Homecorrupter, Rechoir and Regarder, however when compiling Transformant I get the following:

[  5%] Building CXX object CMakeFiles/transformant.dir/src/vstentry.cpp.o
In file included from @/igorski/transformant/src/vstentry.cpp:24:
@/igorski/transformant/src/ui/controller.h:45:49: error: declaration of ‘typedef class Steinberg::Vst::UIMessageController<Steinberg::Vst::Controller> Steinberg::Vst::Controller::UIMessageController’ changes meaning of ‘UIMessageController’ [-fpermissive]
   45 |         typedef UIMessageController<Controller> UIMessageController;
      |                                                 ^~~~~~~~~~~~~~~~~~~
@/igorski/transformant/src/ui/controller.h:37:7: note: ‘UIMessageController’ declared here as ‘class Steinberg::Vst::UIMessageController<Steinberg::Vst::Controller>’
   37 | class UIMessageController;
      |       ^~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/transformant.dir/build.make:184: CMakeFiles/transformant.dir/src/vstentry.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/transformant.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Can you take a look?

Thanks and happy holidays!

Ps: For building the plugins I had to use cmake and not cmake .

--

Edit:

gcc (Debian 12.2.0-11) 12.2.0

I just saw #3 and tried installing clang provided by Debian repos:

 ~/ clang --version
Debian clang version 14.0.6
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

I tried to set the envs but no luck

export CC=/usr/bin/clang
export CPP=/usr/bin/clang
export CXX=/usr/bin/clang++
cmake -DVST3_SDK_ROOT=@/VST_SDK/vst3sdk/ ..

-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: ~/.vst3
-- Configuring done
-- Generating done
-- Build files have been written to: @/igorski/transformant/build

make

[Same error]

Then i tried with cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DVST3_SDK_ROOT=@/VST_SDK/vst3sdk/ ..

-- [SMTG] Linux architecture name is x86_64-linux.
-- [SMTG] SMTG_PLUGIN_TARGET_PATH is set to: ~/.vst3
-- Configuring done
You have changed variables that require your cache to be deleted.
Configure will be re-run and you may have to reset some variables.
The following variables have changed:
CMAKE_C_COMPILER= clang
CMAKE_CXX_COMPILER= clang++

-- The C compiler identification is Clang 14.0.6
-- The CXX compiler identification is Clang 14.0.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:67 (include):
  include could not find requested file:

    SMTG_Global

CMake Error at CMakeLists.txt:68 (include):
  include could not find requested file:

    SMTG_AddVST3Library

CMake Error at CMakeLists.txt:69 (include):
  include could not find requested file:

    SMTG_Bundle

CMake Error at CMakeLists.txt:70 (include):
  include could not find requested file:

    SMTG_ExportedSymbols

CMake Error at CMakeLists.txt:71 (include):
  include could not find requested file:

    SMTG_PrefixHeader

CMake Error at CMakeLists.txt:72 (include):
  include could not find requested file:

    SMTG_PlatformIOS

CMake Error at CMakeLists.txt:73 (include):
  include could not find requested file:

    SMTG_PlatformToolset

CMake Error at CMakeLists.txt:74 (include):
  include could not find requested file:

    SMTG_CoreAudioSupport

CMake Error at CMakeLists.txt:75 (include):
  include could not find requested file:

    SMTG_AAXSupport

CMake Error at CMakeLists.txt:76 (include):
  include could not find requested file:

    SMTG_VstGuiSupport

CMake Error at CMakeLists.txt:77 (include):
  include could not find requested file:

    SMTG_UniversalBinary

CMake Error at CMakeLists.txt:78 (include):
  include could not find requested file:

    SMTG_AddVST3Options

CMake Error at CMakeLists.txt:204 (smtg_add_vst3plugin):
  Unknown CMake command "smtg_add_vst3plugin".

-- Configuring incomplete, errors occurred!
See also "@/igorski/transformant/build/CMakeFiles/CMakeOutput.log".

May be that clang fix worked bc it was just downgrading versions?

igorski commented 1 year ago

Hi @arturock

Quite right, the controller class for Transformant was not updated appropriately (Transformant was initially created with an older version of the Steinberg SDK).

Can you verify (after pulling the latest changes) whether all builds appropriately ?

artrz commented 1 year ago

Thanks. Plugin compiles after the code update.