简体   繁体   中英

array element has incomplete type

I'm trying to figure out why I can't compile enlightenment e17 window manager package ejde on Mac OSX. Make gives me the following output (long lines split for legibility):

libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I. \
-I../.. -I../../src/bin -I../../src/lib \
-DPACKAGE_BIN_DIR=\"/usr/local/bin\" \
-DPACKAGE_LIB_DIR=\"/usr/local/lib\" \
-DPACKAGE_DATA_DIR=\"/usr/local/share/edje\" \
-I/usr/local/include/eina-1 -I/usr/local/include/eina-1/eina \
-I/usr/local/include/eet-1 -I/usr/local/include/evas-1 \
-I/usr/local/include/freetype2 -I/usr/local/include \
-I/usr/local/include/ecore-1 -I/usr/local/include/embryo-1 \
-I/usr/local/include/ecore-1 -I/usr/local/include/eina-1 \
-I/usr/local/include/eina-1/eina -I/usr/local/include/evas-1 \
-I/usr/local/include/eet-1 -I/usr/local/include/freetype2 \
-I/usr/local/include \
-g -O2 -MT edje_lua2.lo -MD -MP -MF .deps/edje_lua2.Tpo \
-c edje_lua2.c  -fno-common -DPIC -o

.libs/edje_lua2.o edje_lua2.c:183: error: array type has incomplete element type

edje_lua2.c:638: error: array type has incomplete element
type edje_lua2.c: In function '_elua_messagesend':

line 183:

static const struct luaL_reg _elua_edje_gc_funcs [] =
{
     {"__gc", _elua_obj_gc}, // garbage collector func for edje objects

     {NULL, NULL} // end
};

I guess it's not compiling because lua-5.2 doesn't have this:

#define luaL_reg      luaL_Reg

http://lua-users.org/lists/lua-l/2011-07/msg00708.html

For what its worth using E17 on Mac is a fool's errand

Check the structure type struct luaL_reg is declared before your declaration of the _elua_edje_gc_funcs object.

You probably miss the relevant header file: either because it is not included, not present in your system or the correct -I path is missing.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM