The Global Archicad Community

Stay informed. Get help. Share your knowledge.

Discussions about using GRAPHISOFT's tools (API DevKit) for independent software developers

Moderators: ejrolon, Barry Kelly, Karl Ottenstein, LaszloNagy, gkmethy, Ed Brown, Mihály Palenik, Tibor Lorántfy, rmasaki, MOREH Tamas, Akos Somorjai

Hey everyone,

i guess this is an easy one but i'm having a little trouble linking my external libraries to my addon so they can be found during runtime on mac. Do i have to place all of them in "ARCHICAD 22/Support"?

Could anyone give me an example for the correct linker flag and locations in case i want to include my libraries in a subfolder of my addon? E.g.: ARCHICAD 22/Add-Ons/MyAddon/libs/mylib.dylib

Thanks in advance!

Ok maybe my wording was a little of as the situation is a little more complex. I build a python interpreter into an addon so im able to call python scripts from it. Now i would like to eliminate the need to install python on every machine to make the addon work. So im wondering where to best place the python version relative to the addon. I'm still not completly sure that it is even possible to move the needed python dependencies from their default location but any hints would be appreciated.

I've experimented with that. I had to modify the downloaded python binaries a little to make it work, and that can make people suspicious.
Installing Python as part of your add-on could also bring up licensing issues...

So I would still go the more inconvenient way of asking the users to install python.

BTW, you can download our experimental Python add-on from the developer site; have you tried that?

Best, Akos
Thanks for the information Akos!
Yes installing python as a dependency is probably the easiest way. I just did this because i wrote a lot of code before i knew i had to implement the functionality in an ArchiCAD add-on and did not want to rewrite everything in C++.

Yes i tried the python add-on but i have to implement some "normal" interfaces for the users in an architectural firm and not make them run some python script. The problem with the python API (as some other people stated allready) is also that i don't know the limits of your abstraction layer and i don't want to swap to C++ mid project because some functionality i need is missing in the python API. If i could write a whole add-on in python i definetly would use it over C++.