Custom externals return "No such object" errors in standalones but not Max itself.

to_the_sun's icon

I have some custom-built externals which work perfectly fine in Max itself, but whenever I try to build a standalone with them I get "no such object" errors. I have tried including the .mxe64 files themselves and tried including the folder they're in. I've tried putting them in the main Max externals folder. I've tried building a collective instead of a standalone executable. I have verified that the .mxe64 files are actually present in the resources folder of the built standalone, but it just does not seem to matter (and I have tried manually moving them to the resources folder even though they already exist there). The strangest thing of all is that out of all the countless times I've tried to build, it actually did work maybe two or three times when I saved the patch as a project first and then built it. But I can't get that to work anymore now either. I have verified that it acts the same way on a different computer.

I feel like I've tried everything. Any ideas what could possibly be causing this?

Source Audio's icon

it is hard to guess without knowing what kind of externals they are.

beside usuall build problems when using projects,

it could be that you miss some dependencies in standalone.

I would first test this:

place externals into a folder together with a simple patch that uses them,

and open the patch using max runtime.

to start with ...

also try to exclude externals when building mxf or standalone and add them

manually

Rob Ramirez's icon

The easiest way to develop externals I think is to use packages. If using the max-sdk and following that format it should already be in a package format. If you prefer to keep your development outside of the Documents/Max 9/Packages folder, you can simply create an alias to your package in the packages folder. On Mac this is simple, on Windows you have to use the command line and create a "junction" instead. searching the web should provide the exact command to use.

The important piece though is that externals need to be either in the search path (e.g. Documents/Max 9/Library is one default and reliable location) or in a Packages/package-name/externals folder. any other location you are opening yourself to unpredictable behavior.

to_the_sun's icon

Thank you very much for the excellent suggestions! I tried a little of each of yours and between the two I think I discovered the solution. Forget trying to explicitly include anything, I guess all I need to do is put the externals in Documents/Max 8/Library. That seems to be the magic folder. I think before I had put them in Program Files/Cycling 74/Max/externals or something like that.

Source Audio's icon

Documents/Max 8/Library could be ok for your local computer.

But that is not going to work for portable standalone.

Your initial problem - standalone can't find your externals remains a mistery

to_the_sun's icon

Oh. Well, that's good to know. Fortunately this is just a personal project of mine so I don't foresee that being an issue right now.