之所以寫這篇部落格,是因為周五打包被坑了2個小時- -!
我剛進乙個新專案用的xlua,我之前用tolua,老大讓我維護xlua框架寫了些工具,然後又把xlua更新了,更新後在window上都正常,在ios上就編不過,我翻遍資料夾也找不到那個dll,並且發現在luadll裡面方法反射是沒有報錯,但是編譯卻出了bug,後來發現是之前離職的兄弟把乙個dll注入了xlua,dll,最後查了些文件,把問題定位到注入dll的問題
前提條件:
1.visual tudio有c++模組
4.借閱以下兩篇部落格
上圖是win10編譯cmake注入dll的截圖,建議shift加右鍵把bat檔案拖入,win10叫powershell,主要是為了看編譯的問題,和輸出路徑
這樣我們就完成了把protobuf庫注入到xlua.dll
使用的時候就可以 [csharp]**
const string luadll = "xlua";
[dllimport(luadll, callingconvention = callingconvention.cdecl)]
//對應pbc-lua53.c檔案__declspec(dllexport) int luaopen_protobuf_c(lua_state *l)函式
public static extern int luaopen_protobuf_c(system.intptr l);
[monopinvokecallback(typeof(xlua.luadll.lua_csfunction))]
public static int loadprotobuf(system.intptr l)
ILMerge合併多個DLL
如果你的專案要提供多個dll給別人用,那麼不妨讓你的dll合併為乙個,讓別人看起來簡潔,引用起來不會過於繁瑣。本篇比較少,但也算是比較實用吧。場景 c盤有2個dll,分別為 c a.dll c b.dll 結果 合併為c c.dll 具體操作 首先我的ilmerge安裝到啦c盤的路徑為 c prog...
ILMerge合併多個DLL
如果你的專案要提供多個dll給別人用,那麼不妨讓你的dll合併為乙個,讓別人看起來簡潔,引用起來不會過於繁瑣。本篇比較少,但也算是比較實用吧。場景 c盤有2個dll,分別為 c a.dll c b.dll 結果 合併為c c.dll 具體操作 首先我的ilmerge安裝到啦c盤的路徑為 c prog...
cmake使用範例
cmake作為一款跨平台的專案構建工具,其使用範圍已經越來越廣,本文以實際專案為例,展示乙個使用該編譯工具的模板。希望我們都能在這些高效的工具幫助下都享受程式設計的樂趣。project src libs modules includes build bin cmakelists 根目錄下cmakel...