VC下編譯lua和luabind紀實

來源:互聯網
上載者:User
原始碼下載

下載lua
http://www.lua.org/download.html
我拿到的版本是5.1.4

下載luabind
http://sourceforge.net/projects/luabind/
我拿到的版本是0.7

下載boost
http://sourceforge.net/projects/boost/
最新版本是1.36.0,我網路比較慢,就先用已有的1.35.0了
boost可以不需要編譯的,luabind編譯時間僅僅需要其標頭檔

建立項目

  • 分別給lua和luabind建立VC項目
  • 檔案>建立>從現有代碼建立項目,然後跟著嚮導走,選靜態庫項目
  • lua建立項目為Lua,精確到lua-5.1.4\src檔案夾
  • luabind建立項目為LuaBind,精確到luabind-0.7\luabind\src檔案夾
  • 在luabind項目中建立虛擬資料夾luabind和luabind\detail,然後對應將磁碟luabind-0.7\luabind\luabind中的標頭檔加入到項目中
  • 最後把這兩個項目添加到通一個解決方案Lua中

編譯

編譯Lua項目

  • 將lua.c和luac.c從產生中排除或者從項目中移除
  • 修改項目屬性:
    • 配置屬性>常規>字元集 修改為 使用多位元組字元集
    • 配置屬性>C/C++>常規>檢測64位可移植性問題 修改為 否
    • 配置屬性>C/C++>進階>禁用特定警告 修改為 4996
  • 可以編譯了

編譯LuaBind項目

  • 修改項目屬性:
    • 通用屬性>架構和引用>添加新引用 添加對Lua項目的引用
    • 配置屬性>常規>字元集 修改為 使用多位元組字元集
    • 配置屬性>C/C++>常規>檢測64位可移植性問題 修改為 否
    • 配置屬性>C/C++>進階>禁用特定警告 修改為 4996
    • 配置屬性>常規>附加元件封裝含目錄 添加對lua-5.1.4\src、luabind-0.7\luabind\、boost_1_35_0目錄的引用,當然你需要根據你本地的檔案目錄結構改成相對路徑的形式。比如在我機器上的配置為:../;http://www.cnblogs.com/../lua-5.1.4/src;http://www.cnblogs.com/../boost_1_35_0
  • 將Lua項目luaconf.h 322行 #undef LUA_COMPAT_GETN 改為 #define LUA_COMPAT_GETN
  • 在LuaBind項目lua_include.hpp 30行 添加語句 #include "lauxlib.h"
  • 可以編譯了
2011-12-28    也可以採用tolua++,這樣可以避免引入boost。因tolua++採用的是自訂指令碼先行編譯為C++代碼,相比luabind編譯期模板產生代碼的方式,tolua++在編譯速度上有明顯優勢。這點在大項目中尤為重要。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.