Setting up a Lua/C Application

My first exposure to Lua was in highschool. When I started seriously programming in tenth grade, it was in C (though I'd had some exposure to C++ as early as elementary school.) Being a nerdy teenager, all I wanted to do was make games, and I quickly discovered that doing everything in pure C had some downsides, and that embedding a scripting language within your application was commonplace for reasons that I have no intention of explaining here. I assume you already want to embed Lua in your C application, else why would you be reading this.

I recently tried to get an older application compiling (the source code hadn't been touched in about ten years) and ran into some difficulty. For posterity, here is a main.c and a Makefile that should get you compiling under any reasonably up-to-date Linux distribution with Lua 5.2 installed.



all: $(OUTPUT)

    $(CC) -o $@ $^ $(LIBS)

clean :
    $(RM) $(OUTPUT) *.o


#include <stdio.h>
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>

int main(int argc, char *argv[]) {
    lua_State *L = luaL_newstate();
    printf("Hello world.\n");
    return 0;