1. 程式人生 > >Win7下使用VS2010編譯tolua庫

Win7下使用VS2010編譯tolua庫

參考這篇文章:
https://blog.csdn.net/wlk1229/article/details/78776551

  1. 編譯環境搭建
    下載他網盤的VS2015編譯tolua++工程原始碼,由於我使用的是VS2010,所以不能直接開啟sln檔案,用記錄本開啟,修改檔案:
    修改sln檔案
    這樣儲存後,就可以用VS2010開啟工程檔案了,暫時還不能編譯。得先右鍵工程屬性,把常規中平臺工具集選項改為v100:
    修改工具集
    然後新增lua標頭檔案目錄,在“VC++目錄”的包含目錄選項中新增lua5.2.4原始碼所在路徑(如果不這樣修改,編譯會報“無法開啟lua.h檔案”):
    新增標頭檔案
    在專案中去除掉lua.c和luac.c檔案:
    去掉檔案

    因為這兩個檔案裡都有main函式定義,如果不去掉,編譯會報錯:
    1>tolua.obj : error LNK2005: main 已經在 luac.obj 中定義
    1>E:\程式\測試程式\ToLua\toluaVS2015\x64\Debug\tolua++.exe : fatal error LNK1169: 找到一個或多個多重定義的符號

修改完成後再點選編譯,終於生成“tolua++.exe”檔案了:
編譯成功
生成檔案路徑

  1. 編譯Release版本
    然後編譯release版本,等等,還得把前面的平臺工具集和包含路徑修改一下,沒辦法,誰讓VS2010的debug和release是兩套不同的配置呢。編譯成功會在Release目錄下生成:
    release版本

  2. 編譯tolua++.lib庫
    在其他專案中使用tolua時可以像KyleWlk給出的示例程式碼一樣直接新增lua和tolua原始碼,畢竟太麻煩了,可以將其編譯為tolua++.lib庫。
    編譯方法也簡單,還是使用編譯剛才編譯tolua++.exe的工程,只需要把配置屬性裡的配置型別改為“靜態庫(.lib)”:
    修改配置型別
    再進行編譯,成功後即可生成tolua++.lib檔案:
    生成tolua++.lib檔案