Porting To Mac


#1

I’ve successfully created a VST plugin and now trying to port to the Mac from Windows.

I’m on a brand new Mac running Xcode 4.5.2 and the Base SDK is OS X 10.8.

I’m trying to build the IntroJucer and I’m getting 14 build errors from the function below saying, "case value evaluates to blah blah, which cannot be narrowed to type ‘int’. Any ideas?

const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw()
{
int hash = 0;
if (resourceNameUTF8 != 0)
while (*resourceNameUTF8 != 0)
hash = 31 * hash + *resourceNameUTF8++;

switch (hash)
{
    case 0x44be9398:
    case 0x2981a553:  numBytes = 1449; return AudioPluginXCodeScript_txt;
    case 0x950fd7dd:
    case 0xa6cfe0e2:  numBytes = 14724; return brushed_aluminium_png;
    case 0x27c5a93a:
    case 0xb6575890:  numBytes = 1008; return jucer_AudioPluginEditorTemplate_cpp;
    case 0x4d0721bf:
    case 0xc244271a:  numBytes = 799; return jucer_AudioPluginEditorTemplate_h;
    case 0x51b49ac5:
    case 0xc68aa4a1:  numBytes = 4455; return jucer_AudioPluginFilterTemplate_cpp;
    case 0x488afa0a:
    case 0x99c7f951:  numBytes = 2400; return jucer_AudioPluginFilterTemplate_h;
    case 0x8905

#2

I’ll make a guess that the compiler, in general, cannot accept case statements with 64bit values, or that your data type needs to be 64bits for this to work.


#3

I changed the compiler to be GCC. I got a “build succeeded” message but 10 of the previous red stop sign exclamation points come up with the same conversion error, and i don’t see a bundle/exe (whatever they are called on Mac to run).


#4

Thanks…but this is the IntroJucer. Shouldn’t I just be able to build this. I’m new to Macs so how do I change the 64bit stuff?


#5

Also, valid architectures on this Mac is i386 x86_64. So, I’m assuming it can handle 64bit.

Does anyone know where I can just grab a pre-built IntroJucer that runs on Mac?

Thanks


#6

http://www.rawmaterialsoftware.com/viewtopic.php?f=4&t=9762


#7

Thanks!

That’s exactly my problem. I’ll follow Jules suggestion of getting the latest version from git.

Thanks again


#8

Okay…I grabbed the latest version and it succeeded.

Now, here’s a stupid question. Where did it put the executable introjucer? I don’t see an executable in the build folder.


#9

Found it buried in some long path location of:

/users/demo/library/developer/xcode/deriveddata/The_Introjucerblahblahblah/build/products/debug/Introjucer.app/contents/macos

whew!

There must be some xcode setting that can change the output path.


#10

I just run the Introjucer from xcode. With the daily updates from the GIT you will always have the latest version.

Harrie


#11

You can always right click on the output in XCode and select “show in finder” - you can set the output in the Prefs in the Locations tab (Derived Data)

Rail