开发者

Shared library not found

I am running Ubuntu 10.10 and a C program that uses a shared library libcrypt开发者_如何学Pythono.so When compiling it, though I have a Makefile that has the option -lcrypto, I get this message:

/usr/bin/ld: skipping incompatible ./libcrypto.so when searching for -lcrypto
/usr/bin/ld: cannot find -lcrypto

I did export the current directory before by doing:

export LD_LIBRARY_PATH=D_LIBRARY_PATH:.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.

So what is wrong with my library and what can I do?


The first error message probably indicates that you have a 64-bit library but are doing a 32-bit compilation, or a 32-bit library but are doing a 64-bit compilation.

Run file libcrypto.so to see what type it is, then adjust your build (restart - remove all the object files) with either the option '-m32' or '-m64' to get the write build mode. If you can't work out how else to get that into the makefile, use:

make CC="gcc -m32" CXX="g++ -m32"

(or the 64-bit version if that's what you're after).


Could you post the output of this:

$ file ./libcrypto.so

And check that it is the right version for your machine? (I.e. 32 vs 64 bit, etc?)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜