linuxÏÂgcc±àÒësinº¯Êý³ö´íµÄÎÊÌâ
Q:
I
keep getting
errors due to library functions being undefined,
but I'm #including all
the right header files.
A:
In the general case of calling code in an
external library,
using #include
to pull in
the right header file(s) is only half
of the story; you also have to tell the linker to search the
external library itself.
The declarations in the header file
only tell the compiler how to call the external functions;
the header file doesn't supply the definitions of the external
functions, or tell the compiler/linker where to find those
definitions.
In some cases
(especially if the functions are nonstandard)
obtaining
those definitions
may require explicitly asking
for the correct libraries to be
searched
when you link the program.
(Some systems may be able to arrange
that whenever you #include
a header,
its associated library, if nonstandard,
is automatically requested at link time,
but such a facility is not
widespread.)
See also questions
10.11
,
11.30
,
13.26
,
14.3
,
and
19.40
.
Q:
I'm trying to do some simple
trig,
and I am #including <math.h>
,
but
the linker keeps
complaining
that functions like sin
and cos
are undefined.
A:
Make sure you're actually linking with the math library.
For instance,
due to a longstanding bug in Unix and Linux systems,
you usually need to use an explicit -lm
flag,
at the
end
of the command line,
when compiling/linking.
See also questions
13.25
,
13.26
,
and
14.2
.
µ±Ê¹ÓÃgcc±àÒëÆ÷±àÒ뺬Êýѧº¯ÊýµÄC³ÌÐòʱ,»á³öÏÖundefined reference to `sin'´íÎó.ÕâÖÖ´íÎóÒ»°ãÊÇÓÉÓÚȱÉÙ¿âÔì³ÉµÄ.ʹÓÃ-lm¼´¿É.Makefile¿ÉÒÔÕâÑùд:
pe14-18-11:pe14-18-11.o
gcc pe14-18-11.o -lm -o pe14-18-11
pe14-18-11.o:pe14-18-11.c
gcc -c pe14-18-11.c -o pe14-18-11.o
clean:
rm -f *.o pe14-18-11
¾ßÌåÔÒò¼°½â¾ö°ì·¨Îª:
¼ÓÈëÁ¬½áµÄº¯Ê½¿
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
ת×Ô£ºhttp://www.neatstudio.com/show-365-1.shtml
ÔÚubuntuÏÂÃæĬÈÏÊDz»ÄÜmount samba¹²ÏíµÄĿ¼µÄ£¬¶øÔÚ¹«Ë¾ÀÎÒ²»µÃ²»Á¬½ÓÕâÑùµÄĿ¼£¬ÔÚwindowsÏÂÃæµÄʱºò£¬samba¹²Ïí¾ÍÏówindowsµÄ¹²ÏíĿ¼ÄÇÑùµÄ·½±ã£¬µ«ÊÇÔÚlinuxÏÂÃæ¾Í²»ÊÇÕâÑùµÄÁË¡£
Ê×ÏÈ£¬ÄãÒªÏÂÔØsmbmount,ÔËÐÐ £º
apt-get install smbfs
È»ºó¾Í»á°² ......
¹Ù·½ÍøÕ¾£ºhttp://www.isc.org
Ò»£ºÔ´Âë°üµÄ°²×°ºÍÅäÖÃ
ÏÂÔØÔ´Âë°üÎļþ£ºhttp://ftp.isc.org/isc/bind9/9.4.2/bind-9.4.2.tar.gz
½âѹ²¢°²×°bind
Tar –zxvf bind-9.4.2.tar.gz
ÅäÖÃÔ´Âë°ü£º
./configure --prefix=/usr/local/named --enable-threads #--enable-threads¿ªÆô¶àÏ̴߳¦ÀíÄÜÁ¦
......