COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 03-16-2009, 10:36 AM   #1
cc_
Human being with feelings
 
Join Date: Mar 2009
Posts: 256
Default IPlug and xcode

I spent a while getting IPlug/wdl compiled under XCode 3.1 (on OSX 10.5), mostly moving files around, finding missing files, making projects etc... if anyone's interested I zipped up the resulting files:

http://burbleland.com/tmp/iplug_xcode_20090316.zip

There are Xcode projects in lice , IPlug and IPlugExample - just add the 2 vstsdk files, build the projects and you should have a plugin. More details of what I had to change in the README.txt file. This is my first go with XCode, so I may have done something wrong, but the example plugins both seem to run (vst and au), so that's a good sign...

One thing I didn't figure out: when I was compiling IPlugVST.cpp it complained about the deprecated things not being in the AEffect structure, but when I preprocessed the file manually (still in XCode) they were there. Replacing IPlugVST.cpp with the manually generated preprocessed version got it to compile. Any ideas how to fix this?
cc_ is offline   Reply With Quote
Old 04-03-2009, 10:17 AM   #2
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

hey,

thanks for your xcode projects. unfortunately i can't get them to build. But i am confused by your instructions and so i could have done something wrong. I am using the latest xcode on 10.5.6 on an intel mac

1 - open wdl/lice/lice.xcodeproj and build the target lice (this builds
build/Release/licelib-a

should I build the release or debug version? I built the release

2- open wdl/IPlug/IPlug.xcodeproj and build the target IPlug (this
builds build/Debug/libIPlug.a)

i get an error:

/Developer/Examples/CoreAudio/PublicUtility/CAStreamBasicDescription.h: At global scope:
/Developer/Examples/CoreAudio/PublicUtility/CAStreamBasicDescription.h:61: error: expected identifier before '(' token
/Developer/Examples/CoreAudio/PublicUtility/CAStreamBasicDescription.h:61: error: expected `}' before '(' token
/Developer/Examples/CoreAudio/PublicUtility/CAStreamBasicDescription.h:61: error: expected `)' before '|' token
/Developer/Examples/CoreAudio/PublicUtility/CAStreamBasicDescription.h:61: error: expected declaration before '}' token

it points to here

// define Leopard specific symbols for backward compatibility if applicable
#if COREAUDIOTYPES_VERSION < 1050
typedef Float32 AudioSampleType;
enum { kAudioFormatFlagsCanonical = kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked };
#endif

I can compile it if i comment out the above define but...

3 - open wdl/IPlugExample/IPlugExample.xcodeproj and build either IPlugExample (which
builds build/Debug/IPlugExample.vst) or IPlugExampleAU (which builds
build/Debug/IPlugExample.component)

doesn't build:

Undefined symbols:
"_strtod$UNIX2003", referenced from:
_png_handle_sCAL in libIPlug.a(pngrutil.o)
_png_handle_sCAL in libIPlug.a(pngrutil.o)
"_usleep$UNIX2003", referenced from:
Sleep(int) in libIPlug.a(swell.o)
WaitForSingleObject(void*, unsigned int)in libIPlug.a(swell.o)
"_pthread_cond_init$UNIX2003", referenced from:
CreateEvent(void*, signed char, signed char, char const*)in libIPlug.a(swell.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status


any ideas?

cheers

oli
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 04-03-2009, 10:47 AM   #3
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Quote:
Originally Posted by cc_ View Post
when I was compiling IPlugVST.cpp it complained about the deprecated things not being in the AEffect structure, but when I preprocessed the file manually (still in XCode) they were there.
I notice this in affect.h:

#if __ppc__
#ifndef VST_FORCE_DEPRECATED
#define VST_FORCE_DEPRECATED 0
#endif
#endif

I have no idea why they've done that, but my guess is that if you're compiling a universal binary, the ppc build is throwing the warnings/errors. You could try just commenting that out.
schwa is offline   Reply With Quote
Old 04-03-2009, 12:21 PM   #4
cc_
Human being with feelings
 
Join Date: Mar 2009
Posts: 256
Default

Not sure about the first few things (sounds like you worked around them though).

I did get these once though:

Quote:
Originally Posted by olilarkin View Post
Undefined symbols:
"_strtod$UNIX2003", referenced from:
_png_handle_sCAL in libIPlug.a(pngrutil.o)
_png_handle_sCAL in libIPlug.a(pngrutil.o)
"_usleep$UNIX2003", referenced from:
Sleep(int) in libIPlug.a(swell.o)
WaitForSingleObject(void*, unsigned int)in libIPlug.a(swell.o)
"_pthread_cond_init$UNIX2003", referenced from:
CreateEvent(void*, signed char, signed char, char const*)in libIPlug.a(swell.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
That was when the build target was set to 10.4 (instead of 10.5) in IPlug and/or IPlugExample.
cc_ is offline   Reply With Quote
Old 04-03-2009, 12:22 PM   #5
cc_
Human being with feelings
 
Join Date: Mar 2009
Posts: 256
Default

Quote:
Originally Posted by schwa View Post
I have no idea why they've done that, but my guess is that if you're compiling a universal binary, the ppc build is throwing the warnings/errors. You could try just commenting that out.
Cheers, I'll give it a go later...
cc_ is offline   Reply With Quote
Old 04-03-2009, 01:45 PM   #6
olilarkin
Human being with feelings
 
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
Default

> That was when the build target was set to 10.4 (instead of 10.5) in IPlug and/or IPlugExample.

excellent both compiled now!

thanks,

oli
__________________
VirtualCZ | Endless Series | iPlug2 | Linkedin | Facebook
olilarkin is offline   Reply With Quote
Old 05-01-2009, 06:31 AM   #7
cc_
Human being with feelings
 
Join Date: Mar 2009
Posts: 256
Default

Quote:
Originally Posted by schwa View Post
I notice this in affect.h:

#if __ppc__
#ifndef VST_FORCE_DEPRECATED
#define VST_FORCE_DEPRECATED 0
#endif
#endif

I have no idea why they've done that, but my guess is that if you're compiling a universal binary, the ppc build is throwing the warnings/errors. You could try just commenting that out.
I finally got round to trying this, and it worked.
Thanks.
cc_ is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 02:04 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.