Errors trying to compile plugins on Windows
-
Trying to compile plugins on Windows with the latest build is failing. I tried VST2, VST3 and AAX and they all fail.
I am using the latest Develop branch. Everything was compiling OK 3 days ago. Here is the error message:Handy Drums- Flamenco Percussion_SharedCode.vcxproj -> D:\AUDIO TEMPORARY\HISE PROJECTS\Hise VST- Handy Drums- Flamenco Percussion\Binaries\Builds\VisualStudio2017\.\..\..\Compiled\Shared Code\Handy Drums- Flamenco Percussion.lib ------ Build started: Project: Handy Drums- Flamenco Percussion_AAX, Configuration: Release x64 ------ include_juce_audio_plugin_client_AAX.cpp Creating library .\..\..\Compiled\AAX\Handy Drums- Flamenco Percussion.lib and object .\..\..\Compiled\AAX\Handy Drums- Flamenco Percussion.exp Handy Drums- Flamenco Percussion.lib(include_hi_tools.obj) : error LNK2001: unresolved external symbol "char const * const BinaryData::toggle_200_png" (?toggle_200_png@BinaryData@@3PEBDEB) Handy Drums- Flamenco Percussion.lib(include_hi_core.obj) : error LNK2001: unresolved external symbol "char const * const BinaryData::infoWarning_png" (?infoWarning_png@BinaryData@@3PEBDEB) Handy Drums- Flamenco Percussion.lib(include_hi_core.obj) : error LNK2001: unresolved external symbol "char const * const BinaryData::infoError_png" (?infoError_png@BinaryData@@3PEBDEB) Handy Drums- Flamenco Percussion.lib(include_hi_core.obj) : error LNK2001: unresolved external symbol "char const * const BinaryData::infoInfo_png" (?infoInfo_png@BinaryData@@3PEBDEB) Handy Drums- Flamenco Percussion.lib(include_hi_core.obj) : error LNK2001: unresolved external symbol "char const * const BinaryData::infoQuestion_png" (?infoQuestion_png@BinaryData@@3PEBDEB) .\..\..\Compiled\AAX\\Handy Drums- Flamenco Percussion.aaxdll : fatal error LNK1120: 5 unresolved externals Done building project "Handy Drums- Flamenco Percussion_AAX.vcxproj" -- FAILED. ========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I also want to point out that a different Runtime Library is required for VST and Standalone (static) to that of AAX, which requires DDL runtime. That means that you can export AAX with other formats at the same time.
-
I also want to point out that a different Runtime Library is required for VST and Standalone (static) to that of AAX, which requires DDL runtime.
Actually I would rather recommend building the AAX library with the static runtime so that you don't have to change that setting.
But can you export a simple project?
-
@Christoph-Hart I can't build an AAX plugin with a static runtime library, as it throws mismatch errors. It says that it is expecting DLL runtime, as it is specified somewhere, but not sure where and by whom. I assumed it was specified somewhere within the AAX library.
The static/DLL is not so much of an issue for me, as long as I can compile it. I am in a bit of a limbo right now until you do your magic
-
@gorangrooves You need to change the setting when you compile the AAX library.
-
@Christoph-Hart I made a simple test project and managed to export a regular VST plugin.
I recompiled the AAX library and in the settings, from what I can tell, it shows static library.However, when trying to export the AAX directly from HISE, this is the error I get again:
Testing_SharedCode.vcxproj -> D:\AUDIO TEMPORARY\HISE PROJECTS\Testing\Binari es\Builds\VisualStudio2017\.\..\..\Compiled\Shared Code\Testing.lib include_juce_audio_plugin_client_AAX.cpp AAXLibrary_x64.lib(AAX_CEffectParameters.obj) : error LNK2038: mismatch detecte d for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_Stati cRelease' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJECTS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_Init.obj) : error LNK2038: mismatch detected for 'Runtim eLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJECTS\Test ing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_CParameter.obj) : error LNK2038: mismatch detected for ' RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticReleas e' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJECT S\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_IEffectGUI.obj) : error LNK2038: mismatch detected for ' RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticReleas e' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJECT S\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_IEffectParameters.obj) : error LNK2038: mismatch detecte d for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_Stati cRelease' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJECTS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_CACFUnknown.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelea se' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJEC TS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_CEffectGUI.obj) : error LNK2038: mismatch detected for ' RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticReleas e' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJECT S\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_CParameterManager.obj) : error LNK2038: mismatch detecte d for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_Stati cRelease' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJECTS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_CPacketDispatcher.obj) : error LNK2038: mismatch detecte d for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_Stati cRelease' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJECTS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_CHostServices.obj) : error LNK2038: mismatch detected fo r 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRel ease' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJ ECTS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_CString.obj) : error LNK2038: mismatch detected for 'Run timeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJECTS\T esting\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_CChunkDataParser.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_Static Release' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE P ROJECTS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_VController.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelea se' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJEC TS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_VCollection.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelea se' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJEC TS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_VPropertyMap.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRele ase' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJE CTS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_VDescriptionHost.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_Static Release' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE P ROJECTS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_VEffectDescriptor.obj) : error LNK2038: mismatch detecte d for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_Stati cRelease' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJECTS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_VComponentDescriptor.obj) : error LNK2038: mismatch dete cted for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_St aticRelease' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HI SE PROJECTS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] AAXLibrary_x64.lib(AAX_VFeatureInfo.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRele ase' in include_juce_audio_plugin_client_AAX.obj [D:\AUDIO TEMPORARY\HISE PROJE CTS\Testing\Binaries\Builds\VisualStudio2017\Testing_AAX.vcxproj] Creating library .\..\..\Compiled\AAX\Testing.lib and object .\..\..\Compi led\AAX\Testing.exp LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; u se /NODEFAULTLIB:library [D:\AUDIO TEMPORARY\HISE PROJECTS\Testing\Binaries\Bui lds\VisualStudio2017\Testing_AAX.vcxproj] .\..\..\Compiled\AAX\\Testing.aaxdll : fatal error LNK1319: 19 mismatches detec ted [D:\AUDIO TEMPORARY\HISE PROJECTS\Testing\Binaries\Builds\VisualStudio2017\ Testing_AAX.vcxproj] Press any key to continue . . .
I will try now again, using the VS2017, changing the runtime library in Projucer project to DLL. I will give another shot at my actual plugin if that is successful.
-
Changing Runtime Library managed to compile test AAX plugin.
-
You've looked at the wrong setting in the AAX Library properties. If you change Runtime library to Static (MT) (I think it's in in some sub-tab of C/C++), you can use this with the default HISE settings.
-
@Christoph-Hart Thank you. I'll try that again.
I deleted the Builds and JuceLibraryCode folders before compiling my plugins and managed to compile AAX again. So, some progress is being made...
-
@Christoph-Hart I managed to change the correct settings for AAX library and compiled it with MT runtime. I didn't know that the MT was the static runtime. Thanks for pointing me in the right direction.
So, it seems that the Win build of plugins will go smoothly from here on.
-
Reminder to myself for the next time I look for the setting.