×÷ÕߣºRonnie ÊÖ»ú£º13761598350 E-mail£ºghnghnghnghn@163.com
Ò»°ãÀ´Ëµ£¬Linux¶¯Ì¬¿âµÄĬÈÏËÑË÷·¾¶ÊÇ/libºÍ/usr/lib¡£´´½¨Í궯̬¿âºó£¬Ò»°ã¶¼»á½«´´½¨³öÀ´µÄ¶¯Ì¬¿â¸´ÖƵ½ÕâÁ½¸öĿ¼ÖС£ÔÚÖ´ÐÐÓ¦ÓóÌÐòʱ£¬ÏµÍ³»áÈ¥ÕâÁ½¸ö·¾¶Ïµ÷Óö¯Ì¬¿â¡£µ«Æäʵ£¬¶¯Ì¬¿âµÄËÑË÷·¾¶³ýÁËÕâÁ½ÖÖ·½·¨È¥Ö¸¶¨ÒÔÍ⣬»¹ÓÐÁíÍâÁ½ÖÖ·½·¨£º±à¼ÅäÖÃÎļþºÍÖ¸¶¨»·¾³±äÁ¿¡£µ«ÊÇÕâËÄÖÖËÑË÷·¾¶µÄÓÅÏȼ¶ÓÖ¸÷²»Ïàͬ¡£
ÎÒÃÇÏÈÔÚͬ¼¶Ä¿Â¼Ï½¨Á¢Èý¸öÎļþtlib.h£º
#ifndef __TLIB_
#define __TLIB_
void fun(void);
#endif
tlib.c£º
#include
#include ¡°tlib.h¡±
void fun()
{
printf(¡°This is a test\n¡±);
}
ÒÔ¼°test.c£º
#include
#include ¡°tlib.h¡±
int main()
{
fun();
return 0;
}
×ܵÄÀ´Ëµ£¬ÎÞÂÛʹÓÃÄÄÖÖ·½·¨È¥Ö¸¶¨¶¯Ì¬¿âµÄËÑË÷·¾¶£¬¶¼ÉÙ²»ÁËÕ⼸²½£º
¢Ùgcc -fPIC -Wall -c tlib.c Éú³É.oÎļþ
¢Úgcc -shared -fPCI -o libtlib.so tlib.o Éú³É¶¯Ì¬¿â
¢Ûgcc -o test test.c -L. -ltlib Éú³É¿ÉÖ´ÐÐÎļþ
ÕâÀïҪעÒâÒ»µã£¬¶¯Ì¬¿âÎļþÃû±ØÐëÒÔlib¿ªÍ·¡£
ÏÂÃæ¾Í°ÑÕâËÄÖÖ·½·¨Ò»Ò»×÷Ò»ÏÂ˵Ã÷£º
ΪÁ˲âÊÔÆðÀ´¸üÖ±¹Û£¬ÎÒÃÇ¿ÉÒÔÔÚ×öÿһÖÖ·½·¨Ö®Ç°°Ñtlib.cÀïÃæfunº¯Êý´òÓ¡µÄÄÚÈݱ任һÏ£¬È»ºóÔÙ×öÉÏÃæµÄµÚ¢ÙÖÁµÚ¢Û²½¡£
·½·¨Ò»£º
ÔÚÅäÖÃÎļþ/etc/ld.so.confÀïÌí¼Ó¶¯Ì¬¿âËùÔڵķ¾¶£¬±à¼ÍêºóÔÚÃüÁîÐÐÊäÈëldconfig¡£
·½·¨¶þ£º
Ö¸¶¨»·¾³±äÁ¿ export LD_LIBRARY_PATH=[¶¯Ì¬¿âËùÔڵķ¾¶]¡£
·½·¨Èý£º
°Ñ¶¯Ì¬¿â¿½±´µ½/usr/libĿ¼Ï¡£
·½·¨ËÄ£º
°Ñ¶¯Ì¬¿â¿½±´µ½/libĿ¼Ï¡£
¾¹ý²âÊÔ£¬¿ÉÖª¶¯Ì¬¿âËÑË÷·¾¶ÓÅÏȼ¶´Ó¸ßµ½µÍÒÀ´ÎÊÇ£º·½·¨¶þ£¬·½·¨Ò»£¬·½·¨ËÄ£¬·½·¨Èý¡£