I am trying to compile a module I have made in C++ and it works flawlessly when I do it as a static build.
When trying to compile it as a dynamic library, it fails entirely though; even with the simple example provided in the Godot documentation : Godot Custom C++ Modules.
It basically cannot resolve externals references when linking the library.
sumator.windows.tools.32.obj : error LNK2019: unresolved external symbol "public: static void __cdecl ObjectTypeDB::get_property_list(class StringName,class List<struct PropertyInfo,class DefaultAllocator> *,bool,class Object const *)" (?get_property_list@ObjectTypeDB@@SAXVStringName@@PAV?$List@UPropertyInfo@@VDefaultAllocator@@@@_NPBVObject@@@Z) referenced in function "protected: virtual void __thiscall Reference::_get_property_listv(class List<struct PropertyInfo,class DefaultAllocator> *,bool)const " (?_get_property_listv@Reference@@MBEXPAV?$List@UPropertyInfo@@VDefaultAllocator@@@@_N@Z)
In total, it misses 46 unresolved externals. I tried with both MSVC15 and GCC 5.3 on Windows. (Haven't tried on Linux nor OSX)
Anybody does have a pointer how to quickly fix this ? Or does the tutorial only works in Linux ? (as it mentions *.so). If too nasty to fix, I suppose i'll have to wait until Godot3 is out. (Must admit I can't be more excited ! :p)