date:2020_10_14首先,我有乙個environment:linux
language:c
main.c
檔案,該檔案呼叫了標頭檔案head.c
裡的第三個函式void thridfunc(spectype para)
,head.c
裡的三個函式通過兩個源**檔案定義,並通過如下命令建立動態庫:
g++ fist.c second.c -fpic -shared -o libdynamic.so
這一步並無報錯!g++
-g -o main.out main.c -ldynamic.so -l.
-wl,
-rpath=.
此步報錯thridfunc
未定義
接下來通過如下命令檢查動態庫中函式是否存在:
readelf -s libdynamic.so
確實存在
標頭檔案中宣告thridfunc(spectype para)
時,spectype
型別所需標頭檔案未包含。
如果單純是**層面的問題,vsode常常是紅色的錯誤資訊。而未定義或未包含錯誤,應該是灰色的。(經驗之談而已,並未進行驗證)
linux生成動態庫 fPIC報錯
linux生成動態庫時遇到了relocation r x86 64 32 against luao nilobject can not be used when a shared object recompile with fpic錯誤。fpic作用於編譯階段,告訴編譯器產生與位置無關 positi...
Linux的動態連線庫
大家對windows作業系統中的dll檔案一定十分熟悉,其實這種軟體元件化的方法在linux中也可以實現。其實外掛程式和 dll 通常是用來無須編寫整個新應用程式而新增功能的極好方法,一般來講,在不更改原有應用程式的情況下,外掛程式為現有應用程式提供新功能。linux環境下甚至做的更好。linux提...
Python檔案執行出錯修改後依然報錯的問題
switches.py是ryu控制器子目錄topology下的乙個檔案。我根據實驗需要對switches.py進行編輯時,有一行 的縮排出錯 少打了乙個tab 而沒有發現。因為之前還修改過ryu的全域性啟動引數 在ryu頂級目錄下的flags.py檔案中新增了 因此儲存檔案後,重新安裝了ryu控制器...