Up to 6.2 it was enough to pass -I/path/to/zabbix/source/include and #include "module.h". But now module.h keeps including zbxtypes.h the old way:
...despite zbxtypes.h has been moved to include/common/.
Even dummy module shipped with Zabbix source as an example is broken:
$ git clone --depth=1 https://git.zabbix.com/scm/zbx/zabbix.git
$ cd zabbix/
$ cd src/modules/dummy/
gcc -fPIC -shared -o dummy.so dummy.c -I../../../include
In file included from dummy.c:25:
../../../include/module.h:23:10: fatal error: zbxtypes.h: No such file or directory
23 | #include "zbxtypes.h"
make: *** [Makefile:2: dummy] Error 1
Nothing in Upgrade Notes on the topic.
P.S. Looks related to DEV-2113.