Çë½ÌgtkÖÐÈçºÎÁ´½ÓÎÒÃÇ×Ô¼º×öµÄ¿â
Çë½ÌÖÚλ¸ßÊÖ£ºÎÒÃÇÔÚʹÓÃgtkµÄ¹ý³ÌÖÐÈçºÎÁ´½ÓÎÒÃÇ×Ô¼º×öµÄ¿â£¬±ÈÈçÎÒÃÇÀûÓÃkdeÉú³ÉÁËÒ»¸öÓû§×Ô¼ºµÄ¿â£¬ÄÇÎÒÔõÑù²ÅÄÜÔÚgtkÖÐÈçºÎÁ´½ÓʹÓÃÄØ£¿¶àл¸÷λ´Í½Ì£¡ ʲô¿â£¬½çÃæ¿â£¿:o
¿â ÊÇ ÓÐʱºòÎÒÃÇ»á°Ñµ×²ãһЩ´úÂë½øÐзâ×°µÄ¿â
¿â ÊÇÓÐʱºòÎÒÃÇ»á°Ñµ×²ãһЩ´úÂë½øÐзâ×°µÄ¿â£¬±ÈÈç ÔÚ¹¤Òµ»ú´²¿ØÖÆÖÐÈËÃÇ»á°Ñ»ú´²µÄËã·¨£¬ÔËÐй켣 £¬ÔËÐÐÌØÐԵȺ¯Êý·â×°ÆðÀ´×ö³ÉÓû§µÄ×Ô¶¨Òå¿â£¬ÓÖ±ÈÈçÔÚcameraµÄÓ¦ÓÃÖÐÈç¹û ÎÒÃÇдËûµÄµ×²ãµ÷ÓôúÂ빦ÄÜʱ£¬ÎªÁËÌá¸ß±à³ÌЧÂÊ£¬Ò²»á·â×°³É¿â£¬ÕâÑùÔÚ±àд²»Í¬µÄ½çÃæÊ±£¬×ö²»Í¬¹¤³Ìʱ£¬Ö»Ð´ÉϲãÈ»ºóÈ¥µ÷ÓÃµ×²ã µÄ ¿â¾Í¿ÉÒÔÁË£¬¶ø²»ÐèÒª´ÓÍ·ÔÙÀ´¡£ÏÖÔÚÎÒ¾ÍÊÇÏëÖªµÀ
ÎÒÃÇÔÚʹÓÃgtkµÄ¹ý³ÌÖÐÈçºÎÁ´½ÓÎÒÃÇ×Ô¼º×öµÄµ×²ã¿â£¬±ÈÈçÎÒÃÇÀûÓÃkdeÉú³ÉÁËÒ»¸öÓû§×Ô¼ºµÄÂí´ï¿â£¬ÄÇÎÒÔõÑù²ÅÄÜÔÚgtkÖÐÈçºÎÁ´½ÓʹÓÃÄØ£¿
»¹ÇëÄú½øÐÐÖ¸½Ì£¬¶àл£¡ ÄãµÄÊǾ²Ì¬¿â»¹Êǹ²Ïí¿â£¿
[[i] ±¾Ìû×îºóÓÉ fitren ÓÚ 2007-9-18 17:13 ±à¼ [/i]] ¾²Ì¬¿â»¹Êǹ²Ïí¿â£¿
[quote]
1¾²Ì¬¿â
test.c
#include <stdio.h>
int main()
{
printft("test2!\n");
return 0;
}
myld.c
#include <stdio.h>
void printft(char *str)
{
printf("%s\n",str);
}
±àÒëÄ¿±êÎļþ£ºmyld.o
gcc -c -Wall -o myld.o myld.c
´´½¨¿âÎļþ
ar cr libmyld.a myld.o
Ìí¼ÓË÷Òý
ranlib libmyld.a
±àÒ룺
gcc -L . -Wall -o test test.c -lmyld
ÆäÖÐ-LÑ¡Ïî¸æËßÁ¬½ÓÆ÷ÔÚµ±Ç°Ä¿Â¼ÖвéÕÒ¿âÎļþ
2.¹²Ïí¿â
gcc -Wall -L . -c -o test.o test.c
gcc -Wall -L . -D_REENTRANT -fPIC -c -o myld.o myld.c
gcc -shared -W1,soname,libmyld.so.1 -o libmyld.so.1.0.0 myld.o -lc
ln -sf libmyld.so.1.0.0 libmyld.so
ln -sf libmyld.so.1.0.0 libmyld.so.1
gcc -o -Wall -L . -o test test.o -lmyld
-D_REENTRANT:ʹԤ´¦ÀíÆ÷·ûºÅ©¤©¤REENTRANT±»¶¨Ò壬Õâ¸ö·ûºÅ¼¤»îһЩºêÌØÐÔ
-fPIC£º²úÉúλÖÃÎ޹صĴúÂë¡£
-shared:¸æËß±àÒëÆ÷²úÉú¹²Ïí¿â´úÂë¡£
-Wl:ʹµÃºóÃæµÄÑ¡Ïî±»´«µÝ¸øÁ¬½ÓÆ÷.
libmyld.so.1.0.0:ͨ³£°üº¬ÁË¿â´úÂ룬Ëüͨ³£ÓµÓпâµÄÈ«²¿°æ±¾ºÅ¡£ÆäËüµÄÁ½¸öÎļþ(libmyld.soºÍlibmyld.so¡£1)ºÍËüÊÇ·ûºÅÁ¬½Ó¹ØÏµ£¬ÕâÑùʹµÃÓû§ÔÚϵͳÖÐÓµÓÐÏàͬsonameµÄ¿âµÄ¶à¸ö¸±±¾£¬¿ÉÒÔµ÷ÕûÁ½¸ö·ûºÅÁ¬½ÓÀ´ÔÚËüÃÇÖ®¼ä½øÐÐÇл»¡£³ý´ËÖ®Í⻹±íÃ÷ÁËÊÇͨ¹ý sonameÀ´¾ö¶¨µ÷ÓÃÄĸö¿âµÄ.
libmyld.so.1:Ëü¸ºÔð°Ñ¿â×°ÔØ½ø³ÌÐòµÄ±»¹²Ïí×°ÔØÆ÷ËùʹÓõÄÒ»¸öÎļþ¡£
libmyld.so£º¸ÃÎļþÖ»ÓÃÓÚ±àÒë³ÌÐò£¬²»ÒÔÈκÎÐÎʽΪ¹²Ïí¿â´æ×°ÔØÆ÷ʹÓã¬
¹²Ïí¿â²»ÊÇÔÚ³ÌÐòÔËÐеÄʱºò×°ÔØµÄ£¬ËùÒÔ£º
1¿ÉÒÔ°Ñlibmyld.so*Îļþcopyµ½/etc/ld.so.confÖÐÁоٵÄÈκÎÒ»¸öĿ¼ÖÐ,²¢ÒÔrootÉí·ÝÖ´ÐÐldconfig
»òÕß
2export LD_LIBRARY_PATH=`pwd`,Ëü°Ñµ±Ç°Â·¾¶¼Óµ½¿â´æËÑË÷·³Ì¾¶ÖÐÈ¥.
[/quote]
¶àл£¬ÎÒÕâ¾ÍÈ¥ÊÔÊÔ
¶àлÄãfitren £¬ÄãºÃÀ÷º¦ßÏ£¬ÎÒÕâ¾ÍÈ¥ÊÔÊÔÒ³:
[1]