A question to Introjucer users


#1

I’m not so new to juce (used it for audio only as external library in another project), but I never used the Introjucer.
I managed to create a project, add my files and generate XCode and VC++ project.
So far, so good. Builds just fine.

Problem:
I have an external library from XMPP (Jabber) called txmpp. I compiled it and have the .a and .lib files.
How can I use the introjucer to link to those external libraries? I don’t want to do it from my IDE, as the project is being regenerated from Introjucer.

Another (unrelated) question: Is there a way to add resources to an Introjucer project (ones that will be copied to the build destination with the executable)? the resources directory I have in my xcode project doesn’t even appear in Introjucer UI…


#2

resources are added to the BinaryData.cpp/.h files when you add them to the Introjucer project (everything that’s not a .cpp .h file is treated as a resource)
your .lib .a files should be placed in the linked parameters in the Introjucer project properties, just make sure that your IDE can find those files when building.


#3

[quote=“atom”]
your .lib .a files should be placed in the linked parameters in the Introjucer project properties, just make sure that your IDE can find those files when building.[/quote]
Making sure my IDE finds those files is a little tricky. I can’t really change anything from my IDE if I’m using jucer.
I did manage to statically link with a .a file using jucer and it has to be done using linker flags. No IDE involved.
Assuming your tree looks like that:

basedir jucelibrary yourproject XXX - library where the .a resides libXXX.a - the library file named lib*.a
linker flags for XCode will be:

That’s how JUCE is linked in the XCode project the jucer creates.


#4

Do you have a concrete example you could share? This isn’t working for me.

I need to link with libboost_system.a and libboost_thread.a (I’ve got them and if I manually add them using xcode then all is well) but I have not figured out the abracadabra to use in the Introjucer thus I can’t maintain it using introjucer because every time I save the introjucer file it alters the xcode project (I want to add an android target next, and really want to be able to use introjucer to manage the third party libraries).

What do I need add to introjucer? I’ve already set the ‘extra library search paths’ correctly (I think) which is “…/…/lib”

My structure is:

/MyProject/lib/libboost_system.a

which is sitting right alongside
/MyProject/MyProject.jucer

Thanks…
Kurt


#5

[quote=“kurt6string”]Do you have a concrete example you could share? This isn’t working for me.

I need to link with libboost_system.a and libboost_thread.a (I’ve got them and if I manually add them using xcode then all is well) but I have not figured out the abracadabra to use in the Introjucer thus I can’t maintain it using introjucer because every time I save the introjucer file it alters the xcode project (I want to add an android target next, and really want to be able to use introjucer to manage the third party libraries).

What do I need add to introjucer? I’ve already set the ‘extra library search paths’ correctly (I think) which is “…/…/lib”
[/quote]

Try setting the path as an absolute (you can use the ~/ home shortcut).

Then make sure you’re adding the correct extra linker flags. In your case probably -lboost_system and -lboost_thread