/usr/local/include/bind/arpa/inet.h:95:17: warning: '__inet_makeaddr' has C-linkage specified, but returns incomplete type 'struct in_addr' which could be incompatible with C [-Wreturn-type-c-linkage]
struct in_addr   inet_makeaddr __P((u_long , u_long));
                 ^
/usr/local/include/bind/arpa/inet.h:77:24: note: expanded from macro 'inet_makeaddr'
#define inet_makeaddr           __inet_makeaddr

Index: src/IPAddr.h
--- src/IPAddr.h.orig
+++ src/IPAddr.h
@@ -2,8 +2,8 @@
 
 #pragma once
 
-#include <arpa/inet.h>
 #include <netinet/in.h>
+#include <arpa/inet.h>
 #include <cstring>
 #include <memory>
 #include <string>
