Importing D libraries

Dainius (GreatEmerald) pastas4 at gmail.com
Tue Jul 26 03:22:50 PDT 2011


Hmm, apparently it requires a strict compilation order. If I just add
all .d files in no particular order, I get lots of linker errors, for
example:

LuaTest.o: In function
`_D4luad4base9LuaObject9checkTypeFPT4luad1c3lua9lua_StateiiPxaZv':
LuaD/luad/c/lua.d:(.text._D4luad4base9LuaObject9checkTypeFPT4luad1c3lua9lua_StateiiPxaZv+0x1a):
undefined reference to `lua_type'
LuaD/luad/c/lua.d:(.text._D4luad4base9LuaObject9checkTypeFPT4luad1c3lua9lua_StateiiPxaZv+0x2b):
undefined reference to `lua_typename'
LuaD/luad/c/lua.d:(.text._D4luad4base9LuaObject9checkTypeFPT4luad1c3lua9lua_StateiiPxaZv+0x47):
undefined reference to `luaL_error'
LuaTest.o: In function `_D4luad4base9LuaObject4typeMFNdZE4luad4base7LuaType':
LuaD/luad/c/lua.d:(.text._D4luad4base9LuaObject4typeMFNdZE4luad4base7LuaType+0x45):
undefined reference to `lua_type'
LuaTest.o: In function `_D4luad4base9LuaObject8opEqualsMFC6ObjectZb':
LuaD/luad/c/lua.d:(.text._D4luad4base9LuaObject8opEqualsMFC6ObjectZb+0xa1):
undefined reference to `lua_equal'
LuaTest.o: In function
`_D4luad5table8LuaTable12setMetaTableMFC4luad5table8LuaTableZv':
LuaD/luad/c/lua.d:(.text._D4luad5table8LuaTable12setMetaTableMFC4luad5table8LuaTableZv+0x5e):
undefined reference to `lua_setmetatable'
LuaTest.o: In function
`_D4luad5table8LuaTable12getMetaTableMFZC4luad5table8LuaTable':
LuaD/luad/c/lua.d:(.text._D4luad5table8LuaTable12getMetaTableMFZC4luad5table8LuaTable+0x45):
undefined reference to `lua_getmetatable'

How do I work around that? I know that things like lua_type are in
luad/c/lua.d. How do I tell that to the compiler? How do I determine
the correct order of files?


More information about the Digitalmars-d-learn mailing list