steinbergmedia / vst3sdk

VST 3 Plug-In SDK
Other
1.63k stars 162 forks source link

vstsdk3610_11_06_2018_build_37 doesn't build with VS2017 (or in general on windows) #17

Closed mycosd closed 6 years ago

mycosd commented 6 years ago

Hi, this is the first time I tried to use the VST3 SDK, so I followed the instructions word by word. But this still fails. That's what I did:

git clone --recursive https://github.com/steinbergmedia/vst3sdk.git
mkdir build
cd build
cmake.exe -G"Visual Studio 15 2017 Win64" ../vst3sdk

cmake outputs:

-- SMTG_VST3_TARGET_PATH is set to : C:/Program Files/Common Files/VST3
-- SMTG_MYPLUGINS_SRC_PATH is not set. If you want to add your own plug-ins folder, specify it!
-- The C compiler identification is MSVC 19.14.26433.0
-- The CXX compiler identification is MSVC 19.14.26433.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find EXPAT (missing: EXPAT_LIBRARY EXPAT_INCLUDE_DIR)
-- VSTGUI will use the embedded Expat package!
-- SMTG_AAX_SDK_PATH is not set. If you need it, please download the AAX SDK!
-- Configuring done
-- Generating done
-- Build files have been written to: F:/VST3Test/build

Then I switched from MSYS to the VS2017 x64 native tools and ran: msbuild.exe vstsdk.sln >../build.log from the build folder. The log is attached.

build.log

For me it looks like the linker can't create the output files (LNK1104) for some examples because the linker output file has the same name as a directory (eg. pitchnames.vst3) that gets generated beforehand. I guess the linker should actually output in the sub-directory instead.

Regards Maik

mycosd commented 6 years ago

Solution is to use cmake.exe -G"Visual Studio 15 2017 Win64" -DSMTG_CREATE_BUNDLE_FOR_WINDOWS=ON ../vst3sdk

IMHO: SMTG_CREATE_BUNDLE_FOR_WINDOWS should be ON by default for the new plugin format