lua安裝版本:lua 5.2
lua安裝系統:ubuntu 16.04
網上找到**開始進行測試c/c++ linux環境下呼叫lua指令碼,各種錯。網上給出的也是貼上複製,沒有對自己的問題進行剖析。神煩!!!!
reacher@ubuntu:~/luafunc$ g++ -o add main.cpp -i /usr/include/lua5.2/
main.cpp: in function 『int main(int, char**)』:
main.cpp:24:18: error: 『lua_open』 was not declared in this scope
l = lua_open();
^
錯誤剖析:一直以為是路徑問題,造成沒有引用。後來多個網友貼出來的錯誤,發現是5.2已經棄lua_open()。
readline-devel:sudo apt-get install libreadline-dev
ncurses-devel: sudo apt-get install libncurses5-dev
錯誤剖析:將缺失的依賴安裝上
reacher@ubuntu:~/luafunc$ g++ -o add main.cpp -i /usr/include/lua5.2/
/tmp/ccybxbqi.o: in function `main':
main.cpp:(.text+0x10): undefined reference to `lual_newstate'
main.cpp:(.text+0x20): undefined reference to `lual_openlibs'
main.cpp:(.text+0x36): undefined reference to `lual_loadfilex'
main.cpp:(.text+0x61): undefined reference to `lua_pcallk'
main.cpp:(.text+0x70): undefined reference to `lua_close'
collect2: error: ld returned 1 exit status
g++ -o add main.cpp -i /usr/include/lua5.2/ -llua5.2
工作用工頭搭建好的環境就是爽,自己來搭建各種坑和各種迷失。所以做程式設計師這個行當還是要多動手和練習。
解決問題的思路:
1.先看報錯提示,根據報錯提示進行查詢解決方案。
2.多總結,不要只停留在錯誤提示上。
3.結合網友在這個問題上的解決思路,看一下異同,在反看自己的錯誤
C C 呼叫 Lua 函式(非全域性函式)
c c 呼叫 lua 函式有兩種 1,lua 指令碼裡,沒有local 修飾的函式,即為全域性函式 2,lua 指令碼裡,有local 修飾的函式,即為區域性函式 其實呼叫函式和取lua裡的變數是一樣的,網上講得最多的是呼叫全域性函式,這裡主要講呼叫非全域性函式 或是變數 如有指令碼 test.lu...
Lua函式的呼叫( 和 的呼叫區別)
本人稍加修改。lua中類的函式定義方式有三種方法 定義方式 tab.func function 引數 body end function tab.func 引數 body end function tab func 引數 body end其中,兩種定義方式與普通函式的定義一樣。方式 採用 來定義,實...
C C 如何給快速呼叫Lua中定義的函式
要想在c中呼叫lua中的函式,按照之前方法,需要先找到函式所在的位置。於是我們需要呼叫 lua getglobal這個函式,而實際上lua getglobal這個函式又是如何找到name所在的位置呢?我們先看這個函式的實現 lua api int lua getglobal lua state l,...