Linker errors


#1

Hello,

This may not be the right forum since my application is actually a JuceAudioPlugin, but the problem I’m having is windows specific and less to do with the audioplugin side things right now.

I have written a midi fx plugin that is similar to the midimunger plugin in that transform incoming midi messages. I hve use the JuceAudioPlugin framework to develop it and have success got it working as a Windows VST plugin.

I am currently attempting to a write a MFX port of the plugin so that I can use it on Project5 as unfortunately Project5 does not handle midi only VSTs correctly.

Currently the JuceAudioPlugin doesn’t have a Dxi/MFX wrapper,so I’ve been attempting to write one. Initially it just keeps the core from the plugin and ignores the Juce UI code - the problem I have is that I’m getting the following linker errors:

Linking…
JuceMidiFilter.obj : warning LNK4218: non-native module found; restarting link with /LTCG
nafxcw.lib(afxmem.obj) : error LNK2005: “void * __cdecl operator new(unsigned int)” (??2@YAPAXI@Z) already defined in libcpmt.lib(newop.obj)
nafxcw.lib(afxmem.obj) : error LNK2005: “void __cdecl operator delete(void *)” (??3@YAXPAX@Z) already defined in LIBCMT.lib(delete.obj)
nafxcw.lib(afxmem.obj) : error LNK2005: “void * __cdecl operator new[](unsigned int)” (??_U@YAPAXI@Z) already defined in libcpmt.lib(newaop.obj)
nafxcw.lib(afxmem.obj) : error LNK2005: “void __cdecl operator delete[](void *)” (??_V@YAXPAX@Z) already defined in LIBCMT.lib(delete2.obj)
nafxcw.lib(afxmem.obj) : warning LNK4006: “void * __cdecl operator new(unsigned int)” (??2@YAPAXI@Z) already defined in libcpmt.lib(newop.obj); second definition ignored
nafxcw.lib(afxmem.obj) : warning LNK4006: “void __cdecl operator delete(void *)” (??3@YAXPAX@Z) already defined in LIBCMT.lib(delete.obj); second definition ignored
nafxcw.lib(afxmem.obj) : warning LNK4006: “void * __cdecl operator new[](unsigned int)” (??_U@YAPAXI@Z) already defined in libcpmt.lib(newaop.obj); second definition ignored
nafxcw.lib(afxmem.obj) : warning LNK4006: “void __cdecl operator delete[](void *)” (??_V@YAXPAX@Z) already defined in LIBCMT.lib(delete2.obj); second definition ignored
Creating library .\Release/juce_mfx.lib and object .\Release/juce_mfx.exp
.\Release/juce_mfx.dll : fatal error LNK1169: one or more multiply defined symbols found

Any Ideas ?

Many Thanks,

ambrose adamson.


#2