將lua虛擬機器編譯為so

2021-06-04 11:36:44 字數 512 閱讀 7876

1 lua 預設編譯生成只是乙個靜態庫,當需要使用so時就需要對src/makefile增加下面編譯規則

lua_so=liblua.so

all_t= $(lua_a) $(lua_t) $(luac_t) $(lua_so)

$(lua_so): $(core_o) $(lib_o)

$(cc) -o $@ -shared $?(這一行前是乙個tab)

最後在頂層makefile修改to_lib

to_lib= liblua.a liblua.so

修改完makefile後就可以make,make install 了

2 編譯完成後,自己寫的c程式在鏈結過程中出錯。

產生這個 問題的原因在於第一步中新加規則中沒有 -ldl選項,所以$(cc) -o $@ -shared $? 應該為$(cc) -o $@ -shared $? -ldl -lm

3,這樣鏈結後沒有問題了,也生成了可執行檔案,但是run的時候出錯,這也是因為沒有在編譯時沒有新增 -ldl。

qemu編譯 建立虛擬機器

首先安裝編譯qemu依賴包 apt get install gcc libsdl1.2 dev zlib1g dev libasound2 dev linux kernel headers pkg config libgnutls dev libpci dev tar jxvf qemu 1.4.2...

Lua虛擬機器及其工作流程

lua虛擬機器 解釋性指令碼語言與編譯型語言區別 1 由於每個指令碼語言都有自己的一套位元組碼,與具體的硬體平台無關,所以不用修改指令碼 就能執行在各個平台上。硬體 軟體平台的差異都由語言自身的虛擬機器解決 2 由於指令碼語言的位元組碼需要由虛擬機器執行,而不像機器 這樣能夠直接執行,所以執行速度比...

虛擬機器QT編譯環境配置

虛擬機器版本 vmare8.0.0 虛擬機器系統 ubuntu10.0 qt原始碼版本 qt embedded free 3.1.0 花了些時間把虛擬機器上的qt 編譯環境弄好了,在現在總結一下配置過程以及遇到的問題。我的配置環境以及 qt版本號如上所述。起初的時候我用工作的虛擬機器環境配置,這個環...