[quote]Create a new plugin project with Introjucer, drag in your various source code files for your project, and make sure the only checked plugin format is RTAS (you can forget about going polymorphic on a Windows RTAS build, trust me!) Make sure you get your VS2008 paths set correctly, I prefer to use absolute paths and I keep all my SDKs in C:\SDKs\ for ease of access.
Follow Jules’ instructions: set the __stdcall method on the DigiCode and RTAS Wrapper files in your project.
Make sure to put the following lines in Linker–>Input–>Ignore Specific Library: msvcrt.lib; MSVCPRT.LIB; MSVCPRTD.LIB
Build, and it should work. Make sure to copy both the .dpm and .dpm.rsr files into your RTAS plugins folder so they will show up.
…but if you’re using the introjucer to create your project, then it’ll automatically do those last three steps for you, right? I’ve tested building rtas projects without needing to manually mess about with project settings.
That would have been nice, but no, I definitely had to do all of these steps manually. I’m certain I have the latest Juce tip and Introjucer. If it can be fixed easily, cool, if not, simply adding those steps to a readme would be enough. I don’t fault you at all for this one, it’s Microsoft products we’re dealing with here after all. :x
Now that I’ve investigated things more closely, it appears that I’m not on the most current tip as I said previously. Mind you, I’ve downloaded the latest tip, but I used an older path for both Juce and the Introjucer by accident. Sorry for any confusion I may have caused, I’ll have to try the latest tip and start fresh when time permits.
Then maybe Jules you could change jucer_ProjectExport_MSVC.h
and make introjucer set manifest to true in release config ?
That would avoid further peoples to spend a day crashing their head against the wall… (especially hard to find out what happen when there is no debug in windows PT)
Still can’t get it to link, even the release build. The linker complains about 97 unresolved symbols (references to CSmartStructure, CPlugInData, etc.). I probably missed some library dependency or the lib path is broken for me.
Hey, sorry to revive a 6 month old thread but has anyone found a solution to this? I’m trying to compile the RTAS version of the JUCE demo plug-in JUCE tip 2.018 on VS 2010 with PT SDK v8.0. After a number of project setting tweaks, I have run into the dreaded 97 unresolved symobls mentioned above. They are all pretty similar to these 2 examples:
1>PluginLib.lib(CAdaptorPlugIn.obj) : error LNK2019: unresolved external symbol “public: __thiscall CPlugInData::CPlugInData(void)” (??0CPlugInData@@QAE@XZ) referenced in function “public: __thiscall S_RTASP_CustomDataAdmin::S_RTASP_CustomDataAdmin(void)” (??0S_RTASP_CustomDataAdmin@@QAE@XZ)
1>PluginLib.lib(CAdaptorPlugIn.obj) : error LNK2001: unresolved external symbol “public: virtual void __thiscall CSmartStructure::AddMember(struct CSmartStructure::CMember *,class CSmartStructure::CMemberP *)” (?AddMember@CSmartStructure@@UAEXPAUCMember@1@PAVCMemberP@1@@Z)
Any thoughts on building RTAS by any means? I have had no luck for the past week and I have read the howTo.txt and the forums very closely. Thanks!
I also ran into the same issue today, with a new Introjucer project using today’s juce, PT_80_SDK and VS 2010.
I rebuilt the PlugInLib.lib in the winbag folder with VS2010 (via the SimplePlugin.sln) but also end up with those 97 unresolved external symbol when I build my plugin.
So can anyone else try out if anything has turned wrong in recent IntroJucer versions? Or is there anything special I should know about rebuilding PluginLib.lib?
If you re-built RTAS PlugInLib.lib yourself and link your plug-in to it (instead of simply linking to Digi-provided one) then, depending on your PlugInLib build settings, the calling convention of your library might be __cdecl instead of __stdcall. This was my case. Due to different ABI your plug-in is unable to link to your ‘custom’ library. Experiment with calling convention settings for those RTAS-related files in your plug-in project:
Haven’t been over in the Windows world lately, but I’ll bet this is the same as Mac. Do you have a debug version of ProTools? The normal version of PT will not run under debug and will immediately exit in that case. If you haven’t already, you’ll need to grab the debug-enabled PT from the developer website.
If you already knew all this, then forgive me for presuming.