Static library & RTAS copy script


#1

Hi Jules,

these are rather unrelated but as they both appear on OS X I put them into one post.

When a static library (*.a) is added to an IntroJucer project it won’t get linked. If I remove it and drop it in the XCode project from the Finder it works. On a quick diff between the working and non-working project I found that on the working one, the library is added to the sBuildPhase/Frameworks section and the path is appended to the library search path. I’m not sure whether the latter is important as I checked various search paths in the IntroJucer and it didn’t link.
I can mail you a project with a static library if you haven’t one at hand and/or the working and non-working XCode projects if that’ll suffice.

The other thing is when building a new audio plugin with the IntroJucer, the RTAS copying part gets executed in the post build copying script although RTAS wasn’t checked. Also, the script doesn’t check whether the Application Support/Digidesing/Plug-Ins folder exits resulting in a build error if it doesn’t.

I’m using XCode 3.2.6, OS X 10.6.8, latest tip.

Chris


#2

Well, no, I wouldn’t have expected that to work!

The introjucer doesn’t know what a .a file is, and remember that the project is for holding cross-platform files - what would you expect it to do with that file in a windows build? If you want to link to a library, you can add a -l directive in the appropriate config settings.

I’ve used the post-build script in plenty of non-RTAS builds and haven’t had any problems with it - I tried to make it cope with different formats not being available but if you can suggest any changes that would make it more robust on your system, let me know!


#3

[quote=“jules”]
The introjucer doesn’t know what a .a file is, and remember that the project is for holding cross-platform files - what would you expect it to do with that file in a windows build? [/quote]
Reasonable point. It worked with the windows .lib file and it took me some time to get the XCode project to link. Using the -l directive works and I’m doing this now.

It seems that the static library I use triggered the RTAS copying script, so nothing really wrong with the Introjucer there. It could check whether the […]/Digidesing folder exists to avoid error messages, though.
Not sure whether the folder should be created or the file shouldn’t be copied as probably Pro Tools isn’t install if the folder doesn’t exists.

Chris


#4

Did it!? That certainly wasn’t intentional, I guess it’s just because VS saw the file in the project and decided to link it.