您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > cppUnit
軟件測試實驗學(xué)習筆記--CppUnit
作者: 發(fā)布時間:[ 2013/12/17 9:32:47 ] 推薦標簽:

  注:程序中dlopen,dlsym,dlclose這三個程序使用過了

  編譯命令:cc-o testlibdl testlibdl.c -ldl

  執(zhí)行./testlibdl結(jié)果

  /lib/i386-linux-gnu/libc.so.6:undefined symbol: Apply

  雖然程序沒干啥事,但是它使用libdl庫的,并且沒有出現(xiàn)連接錯誤。難道是因為庫路徑的問題?嘗試了添加符號鏈接文件到/lib,/usr/lib這些目錄下,錯誤依舊,這樣我已經(jīng)消耗了2,3小時,這樣不斷的編譯,不斷的查看Makefile文件(足足有800多行的Makefile文件,看的我頭都大了)

  后,在我快要放棄的時候,在參考[5]中發(fā)現(xiàn)這樣的話“本人是安裝的desktop-i386版本。make的時候提示dlopen、dlclose等函數(shù)找不到.檢查上邊的編譯命令發(fā)現(xiàn)其中有-ldl選項,但是位置不對,位置應(yīng)該放到后去,而編譯命令的后一個是-lm.于是在出錯的幾個文件夾下面將Makefle中的-lm選項后面加上-ldl再執(zhí)行make命令即可編過”

  問題已經(jīng)找到了,是-ldl命令的位置的問題。因為-lm總是出現(xiàn)在后,我在所有編譯問題的目錄Makefile的LIBS=-lm后面添加了一個-ldl選項,然后編譯一下,遇到通過的添加-ldl選項,終于都執(zhí)行make通過了。

  后 sudo make install,將cppunit安裝到/usr/local/lib中。我們可以使用命令 ls /usr/local/lib/ |grep libcppunit 查看是否整個安裝好了。如果安裝好了,會出現(xiàn)下面這些庫.

libcppunit-1.12.so.1
libcppunit-1.12.so.1.0.0
libcppunit.a
libcppunit.la
libcppunit.so

  在至此探索中發(fā)現(xiàn)libldl.so庫是一個有意思的動態(tài)鏈接庫。

    Ps:

Interface Libraries
NAME
libdl - dynamic linking library
SYNOPSIS
cc [ flag... ] file... -ldl [ library... ]
DESCRIPTION
Historically,  functions in libdl provided for dynamic linking support.
This functionality now resides in libc(3LIB).
This library is maintained to provide backward compatibility  for  both
runtime  and compilation environments. The shared object is implemented
as a filter on the runtime  linker.  See  ld.so.1(1).  New  application
development need not specify -ldl.
INTERFACES
The  shared object libdl.so.1 provides the following public interfaces.
See Intro(3) for additional information on shared object interfaces.
dladdr                        dladdr1
dlclose                       dldump
dlerror                       dlinfo
dlmopen                       dlopen
dlsym

  6 .小結(jié)

  a)有些問題雖然解決方法很簡單,但是,在遇到問題后想到這個簡單的解決方法卻不那么的容易。

  b)難的是要找到問題在哪里,知道了問題在哪里后,很多事情都是可以解決的。現(xiàn)實是很多情況下,我們不知道問題在何處,因此需要探索,需要”撞墻“。

上一頁1234下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd