Skip to content
This repository has been archived by the owner on Nov 20, 2020. It is now read-only.

Fix Lua header include directives in tolua++.h #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Fix Lua header include directives in tolua++.h #2

wants to merge 1 commit into from

Commits on Jun 15, 2017

  1. Fix Lua header include directives in tolua++.h

    Use angle bracket rather than double quotes when including Lua headers in the tolua++ header. This fixes a problem on systems that default to a Lua version newer than 5.1 and install the tolua++ header to the same directory as newer Lua headers.
    
    As there are (usually) no Lua headers in the same directory when building tolua++ itself, the preprocessor will look to the include directories passed to the compiler, one of which would be the Lua 5.1 include directory, and tolua++ will build with those (correct) headers. Then the tolua++ header is usually installed in the default include directory, alongside the newer Lua headers, which you wouldn't expect to cause any trouble.
    
    But it does cause trouble when trying to build other programs that include the tolua++ header, because now the preprocessor does find Lua headers in the same directory as the tolua++ header, which are the newer (incorrect) headers. Now the program will either fail to compile, because it doesn't support the newer headers, or fail to link with the tolua++ shared object because they were compiled against different Lua headers.
    
    Using angle brackets instead of double quotes in the include directives will fix the problem, because then the preprocessor will look to the include directories passed to the compiler first.
    
    See http://www.cegui.org.uk/forum/viewtopic.php?f=10&t=7195
    osvein committed Jun 15, 2017
    Configuration menu
    Copy the full SHA
    9d5fbc9 View commit details
    Browse the repository at this point in the history