【问题标题】:Unable to determine lua include directory无法确定 lua 包含目录
【发布时间】:2012-10-05 08:16:34
【问题描述】:

我正在尝试在我的 Windows 8 RP 中安装 Luabind。这是我到目前为止所做的。

  • 我的 Visual Studio 是 2012 RC 版本。
  • 我已经安装了 LuaforWindows 5.1.4
  • 我已经下载了luabind-0.9.1
  • 我已经下载了 luabind 需要的 boost_1_51_0
  • 我已成功安装 BOOST
  • 我已经在我的 BOOST_ROOT 环境变量中设置了 Bjam 的路径
  • 我已经在 LUA_PATH 环境变量中设置了 Lua 的路径

现在当我尝试在 Luabind 目录中运行 bjam 时,会出现以下错误。

error: at Jamroot:41 error: 
*** Unable to determine Lua include directory.

我不明白为什么 Jamroot 很难找到 Lua 目录的路径。我还尝试在我的 PATH 环境变量中包含路径,而不仅仅是在 LUA_PATH 环境变量中。

我已经连续搜索了三天。我也尝试关注this method,但仍然没有帮助。

如果有人知道我做错了什么,请告诉我我做错了什么。

【问题讨论】:

    标签: boost lua luabind bjam


    【解决方案1】:

    这是 luabind-0.9.1 第 41 行的 jamroot 代码:

    LUA_PATH = [ os.environ LUA_PATH ] ;
    
    if ! $(LUA_PATH)
    {
        errors.user-error "*** LUA_PATH must be set." ;
    }
    
    local includes = [ GLOB $(LUA_PATH)/include $(LUA_PATH)/src : lua.h ] ;
    
    if ! $(includes)
    {
        errors.user-error "*** Unable to determine Lua include directory." ;
    }
    

    您似乎设置了LUA_PATH 环境变量,因为您没有收到错误说明,但bjam 在您的%LUA_PATH%/include%LUA_PATH%/src 文件夹中找不到lua.h

    我之前在LUA_PATH 上遇到过类似的问题,最后我暂时将LUA_DEV 的值复制到LUA_PATH 中,以便让一些工具正常工作。检查您的变量,然后考虑执行此值复制,直到构建 luabind。


    编辑:我使用的是旧版本的 Boost,但我希望构建工作相同。下面是我的环境变量,因为它们是由 Lua 安装程序配置的。请注意,LUA_PATH 并没有像我预期的那样指向 Lua\5.1 目录,因此我需要临时更改它。

    LUA_PATH=;;C:\Program Files\Lua\5.1\lua\?.luac

    LUA_DEV=C:\Program Files\Lua\5.1

    【讨论】:

    • 您知道将 LUA_DEV 值复制到 LUA_PATH 确实像您一样解决了问题。太奇怪了。感谢一百万帮助我。我很难弄清楚这一点。无休止的寻找是徒劳的。再次感谢您。
    猜你喜欢
    • 2011-08-23
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 2017-01-01
    • 1970-01-01
    • 2017-02-02
    相关资源
    最近更新 更多