|
发表于 2009-11-5 11:20:31
|
显示全部楼层
Post by naga1003;2042587
大家好,我寫的程序里想調用a.so的動態庫里的函數bool b();可是不知道應該怎麼用,我按網上寫的方式編譯的時候這樣做arm-linux-g++ libb.so test.cpp -ldl -o test -static編譯的結果報錯說bool b();這個函數沒聲明,請問問題出在哪裡啊?必須在我的程序里用dlopen嗎??ps:包含 bool b()聲明的頭文件我是include了的
把libb.so放到/etc/ld.so.conf里面指定的目录下面,然後在ARM机器上执行 ldconfig,就可以用了。
直接调用.so文件里的内容可以用dlopen, dlsym和dlclose这几个函数,这么做比较灵活,但是弄不好软件包的目录会很乱,网上有好多现成的例子。 |
|