Native Extensions

I can’t build appodial, too (
(It worked few month ago, I am sure because I made a build with appodial)
Now I need a new build update for release, and I can’t do this (

1 Like

We’re just about to update the server in ~1 hour, which should solve this build issue. Note however, that as I mentioned, that the package will grow with 40mb using the Appodeal on iOS.

2 Likes

I know, but our publishers want this :frowning:
We already tried made all as we wanted - it didn’t work.
Now we try to make all like publisher want.

5 Likes

The updated server with the fix is live now, please try to build again!

7 Likes

It works! Thank you!

7 Likes

Would be great to add to Defold SDK something like dmScript::CheckBuffer() but for read all kinds of vectors and matrix4.

2 Likes

Does NE has some defines for Debug and Release builds? I want to make NE only for debug.

No, there is no such define. We don’t really have the concept of DEBUG/RELEASE in terms of code paths.
Instead, we base the builds on different libraries. E.g. “engine.a” vs “engine_release.a”

So, in your case, I’d suggest a “debug.appmanifest” / “release.appmanifest” approach.

1 Like

Not really understand how it can help in my case.
I want that someNE builds only when I build debug version. For now I see only one way: bob+ script + two different “game.project” file, one with link to needed NE, and another without…

I thought you wanted a define. Then you’d have to use two app manifests.

Yes, if you need to remove it completely (which the system isn’t really designed for), you’d have to have two game.project files which specify different dependencies. Note that it doesn’t work if the extension is inside the actual project.

1 Like

Ok, thanks.

1 Like

Released in 1.2.142

5 Likes

No more Wine

In the latest release (1.2.147) we finally removed support for using Wine for windows builds. We will use Clang (on Linux) going forward. This was announced in August so hopefully this isn’t a surprise to anyone.

Include paths + Base extensions

Also, a cool feature we added was the possibility to include C/C++ files from other extensions.
E.g. if you have one extension holding all the OpenSSL libraries, you can then create another extension with just the code to do what you need. This makes it easier to add several extensions that use the same “base extension”.

If you have extensions A and B, you can use one from the other by adding the extension name and include (“A/include”)to the include path. Like so

#include <A/include/a_header.h>

WIP

We’re taking tiny steps towards linking against dynamic libraries.
Step one is making the extender server support this.
Although it’s not in the sprint right now, the work has at least been started.

16 Likes

Where to include the extension name?

In the include itself. In the example above, “A” is the extension, and inside “A” is the “include” folder, so you can now include that folder.

4 Likes

image
I have an extension, named “luajavaoc”, I include test.h from another extension,but It encounters error when I build win32
test.h is inside the “include” folder in extension “luajavaoc”,like this:
image

That is indeed odd. That should have worked. Is this extension available somewhere I can access it to debug it?

I will create a new simple project a short later, and send you.

testinc.zip (81.5 KB)
This project contains two extension,exta and extb. exta has an a_func.h, which included from extb in extb.cpp

1 Like

Thanks! I’ll check it out now!