cannot dynamically load executable的尴尬经历
cannot dynamically load executable的尷尬經(jīng)歷
運(yùn)行新編譯的程序時(shí)報(bào)錯(cuò):
./sdktest: error while loading shared libraries:test.so: cannot dynamically load executable
1.【executable:可執(zhí)行的】第一反應(yīng)是動(dòng)態(tài)庫編譯方式有問題,加入-shared等參數(shù)后仍然不行。
2.google baidu一圈,沒有可參考的結(jié)果。
3.readelf、objdump等查看 test.so,沒有發(fā)現(xiàn)問題。
4.仔細(xì)閱讀cannot dynamically load executable,這里的executable似乎不太對(duì)。如果executable是名詞,不是形容詞呢?翻譯就是:不能動(dòng)態(tài)加載可執(zhí)行文件。那就是說test.so是一個(gè)可執(zhí)行文件。
5.將該so導(dǎo)出,file查看:
ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=f7b7efe0cf4ec3fa01db94edb515fef6478012c1, not stripped
確實(shí)為可執(zhí)行文件。
6.目標(biāo)機(jī)器上,執(zhí)行該so,發(fā)現(xiàn)居然可以運(yùn)行。
7.在目標(biāo)機(jī)器上搜索所有的test.so,然后刪除。再次重新下載我編譯的so。
8.運(yùn)行通過。
9.再次查找executable的解釋,在維基百科發(fā)現(xiàn)如下:
In computing, executable code or an executable file or executable program, sometimes simply referred to as an executable or binary…
10.結(jié)論:之前目標(biāo)機(jī)器有一個(gè)可執(zhí)行的test.so(也是無語)。
該問完全是英文不熟卡住的,看來英文水平真是很重要啊!
總結(jié)
以上是生活随笔為你收集整理的cannot dynamically load executable的尴尬经历的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab中常用的清除命令clc,cl
- 下一篇: s110 raid linux,dell