lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Still, having such 'lua.hpp' in the official distro would prevent the topic from resurfacing?


27.9.2004 kello 19:02, David Burgess kirjoitti:

 This topic has been discussed before and this is the designated


On Mon, 27 Sep 2004 16:57:23 +0100,
<> wrote:
As you mention, Lua is a C library, so it's not unreasonable that
C++-specific code is left out of the Lua headers.

I've been cleanly including Lua in C++ headers by wrapping the include
directives as follows:

extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
} // extern "C"

I guess if you wanted to be even cleaner you could put these contents into
a "lua.hpp" file and include that in your project.

Simon Brown
Sony Computer Entertainment Europe wrote on 27/09/2004 16:41:04:

I love the language, but whenever I install Lua on a
machine I need to make an alteration to the header file.

The following section allows C programs to use Lua
functions if the Lua libraries are compiled in C.

/* mark for all API functions */
#ifndef LUA_API
#define LUA_API      extern

It works for C++ only if the libraries are compiled in C++.
To get both C and C++ programs working with the C library,
I change that section of the lua.h header to the following:

/* mark for all API functions */
#ifndef LUA_API
#ifdef __cplusplus
#define LUA_API      extern "C"
#define LUA_API      extern

Now it works beautifully and transparently, but isn't quite
standard. I wonder... could this possibly be made the
standard for lua.h in future releases of lua?
For super low premiums ,click here


This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify

This footnote also confirms that this email message has been checked
for all known viruses.

 SCEE 2004