Also, don't use LUALIB_API or LUA_API to mark functions in your code.
These macros are to mark functions in the Lua library.
-Mark
What should be used instead?
Something is needed for cross-platform portability. For example, on
Windows, loading a module from a DLL requires the open function to be
declared with __declspec(dllexport).