LwIP的编译记录-动态库

1. 进入目录

[plh@localhost build]$ cd /tmp/LwIP/contrib-2.1.0/ports/unix/lib/
[plh@localhost lib]$ mkdir build
[plh@localhost lib]$ cd build/

 

2.编译有两种方法

[方法1]: 默认是没有详细的编译日志和不能gdb调试的
[plh@localhost build]$ cmake ..
[plh@localhost build]$ make

[方法2]: 打印详细的编译日志和方便gdb调试
[plh@localhost build]$ vi CMakeCache.txt
CMAKE_BUILD_TYPE:STRING=Debug
CMAKE_VERBOSE_MAKEFILE:BOOL=ON
[plh@localhost build]$cmake ..
[plh@localhost build]$make clean && make

 

3.编译成功后的输出文件

[plh@localhost build]$ ls -al lib*
-rwxrwxr-x. 1 plh plh 442248 12月 23 11:07 liblwip.so

 

4.其中一条详细的编译log

 1 其中一条编译的详细log
 2 [  0%] Building C object CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/init.c.o
 3 /usr/bin/cc -DLWIP_DEBUG -Dlwip_EXPORTS 
 4 -I/tmp/LwIP/contrib-2.1.0/ports/unix/lib/../../../../lwip/src/include 
 5 -I/tmp/LwIP/contrib-2.1.0/ports/unix/lib/../../.. 
 6 -I/tmp/LwIP/contrib-2.1.0/ports/unix/lib/../../../ports/unix/port/include 
 7 -I/tmp/LwIP/contrib-2.1.0/ports/unix/lib  
 8 -g -fPIC   -g -Wall -pedantic -Werror -Wparentheses -Wsequence-point -Wswitch-default -Wextra -Wundef -Wshadow -Wpointer-arith -Wcast-qual -Wc++-compat -Wwrite-strings -Wold-style-definition -Wcast-align -Wmissing-prototypes -Wnested-externs -Wunreachable-code -Wuninitialized -Waggregate-return -Wredundant-decls -Wlogical-op -Wtrampolines 
 9 -o CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/init.c.o   
10 -c /tmp/LwIP/lwip/src/core/init.c
11 
12 这里重点关注包含的头文件
13 [plh@localhost build]$ ls -al /tmp/LwIP/contrib-2.1.0/ports/unix/lib/../../../../lwip/src/include
14 总用量 4
15 drwxrwxrwx. 5 plh plh   45 11月 23 2018 .
16 drwxrwxrwx. 7 plh plh  125 11月 23 2018 ..
17 drwxrwxrwx. 4 plh plh   31 11月 23 2018 compat
18 drwxrwxrwx. 5 plh plh 4096 12月 23 11:13 lwip
19 drwxrwxrwx. 3 plh plh  227 11月 23 2018 netif
20 [plh@localhost build]$ ls -al /tmp/LwIP/contrib-2.1.0/ports/unix/lib/../../..
21 总用量 8
22 drwxrwxr-x.  7 plh plh  120 9月  26 2018 .
23 drwxrwxr-x.  4 plh plh   86 12月 23 10:03 ..
24 drwxrwxr-x.  6 plh plh   78 9月  26 2018 addons
25 drwxrwxr-x. 14 plh plh  202 9月  26 2018 apps
26 drwxrwxr-x.  2 plh plh   24 9月  26 2018 Coverity
27 drwxrwxr-x. 12 plh plh  142 9月  26 2018 examples
28 -rw-rw-r--.  1 plh plh 3036 8月   7 2018 Filelists.cmake
29 -rw-rw-r--.  1 plh plh 2812 7月  12 2018 Filelists.mk
30 drwxrwxr-x.  5 plh plh  111 12月 23 10:09 ports
31 [plh@localhost build]$ ls -al /tmp/LwIP/contrib-2.1.0/ports/unix/lib/../../../ports/unix/port/include
32 总用量 0
33 drwxrwxr-x. 4 plh plh 31 9月  26 2018 .
34 drwxrwxr-x. 4 plh plh 66 9月  26 2018 ..
35 drwxrwxr-x. 2 plh plh 50 9月  26 2018 arch
36 drwxrwxr-x. 2 plh plh 78 9月  26 2018 netif
37 [plh@localhost build]$ ls -al /tmp/LwIP/contrib-2.1.0/ports/unix/lib
38 总用量 24
39 drwxrwxr-x. 3 plh plh    73 12月 23 11:05 .
40 drwxrwxr-x. 6 plh plh   134 9月  26 2018 ..
41 drwxrwxr-x. 3 plh plh   165 12月 23 11:14 build
42 -rw-rw-r--. 1 plh plh  1239 9月   4 2018 CMakeLists.txt
43 -rw-rw-r--. 1 plh plh 12910 9月   4 2018 lwipopts.h
44 -rw-rw-r--. 1 plh plh   701 9月   4 2018 README
45 [plh@localhost build]$
详细编译log

 

6.记录编译输出文件的依赖目标关系

6.1记录输出动态库文件liblwip.so的依赖目标

 1 [100%] Linking C shared library liblwip.so
 2 /usr/bin/cc -fPIC -g  -shared -Wl,-soname,liblwip.so -o liblwip.so 
 3 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/init.c.o 
 4 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/def.c.o 
 5 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/dns.c.o 
 6 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/inet_chksum.c.o 
 7 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ip.c.o 
 8 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/mem.c.o 
 9 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/memp.c.o 
10 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/netif.c.o 
11 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/pbuf.c.o 
12 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/raw.c.o 
13 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/stats.c.o 
14 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/sys.c.o 
15 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/altcp.c.o 
16 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/altcp_alloc.c.o 
17 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/altcp_tcp.c.o
18 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/tcp.c.o 
19 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/tcp_in.c.o 
20 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/tcp_out.c.o 
21 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/timeouts.c.o 
22 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/udp.c.o 
23 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv4/autoip.c.o 
24 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv4/dhcp.c.o 
25 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv4/etharp.c.o 
26 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv4/icmp.c.o 
27 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv4/igmp.c.o 
28 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv4/ip4_frag.c.o 
29 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv4/ip4.c.o 
30 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv4/ip4_addr.c.o 
31 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv6/dhcp6.c.o 
32 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv6/ethip6.c.o 
33 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv6/icmp6.c.o 
34 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv6/inet6.c.o 
35 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv6/ip6.c.o 
36 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv6/ip6_addr.c.o 
37 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv6/ip6_frag.c.o 
38 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv6/mld6.c.o 
39 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/core/ipv6/nd6.c.o 
40 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/api/api_lib.c.o 
41 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/api/api_msg.c.o 
42 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/api/err.c.o 
43 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/api/if_api.c.o 
44 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/api/netbuf.c.o 
45 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/api/netdb.c.o 
46 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/api/netifapi.c.o 
47 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/api/sockets.c.o 
48 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/api/tcpip.c.o 
49 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ethernet.c.o 
50 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/bridgeif.c.o 
51 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/bridgeif_fdb.c.o 
52 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/slipif.c.o 
53 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/lowpan6_common.c.o 
54 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/lowpan6.c.o 
55 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/lowpan6_ble.c.o 
56 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/zepif.c.o 
57 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/auth.c.o 
58 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/ccp.c.o 
59 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/chap-md5.c.o 
60 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/chap_ms.c.o 
61 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/chap-new.c.o 
62 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/demand.c.o 
63 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/eap.c.o 
64 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/ecp.c.o 
65 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/eui64.c.o 
66 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/fsm.c.o 
67 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/ipcp.c.o 
68 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/ipv6cp.c.o 
69 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/lcp.c.o 
70 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/magic.c.o 
71 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/mppe.c.o 
72 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/multilink.c.o 
73 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/ppp.c.o 
74 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/pppapi.c.o 
75 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/pppcrypt.c.o 
76 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/pppoe.c.o 
77 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/pppol2tp.c.o 
78 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/pppos.c.o 
79 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/upap.c.o 
80 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/utils.c.o 
81 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/vj.c.o 
82 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/polarssl/arc4.c.o 
83 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/polarssl/des.c.o 
84 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/polarssl/md4.c.o 
85 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/polarssl/md5.c.o 
86 CMakeFiles/lwip.dir/tmp/LwIP/lwip/src/netif/ppp/polarssl/sha1.c.o 
87 CMakeFiles/lwip.dir/tmp/LwIP/contrib-2.1.0/ports/unix/port/sys_arch.c.o 
88 CMakeFiles/lwip.dir/tmp/LwIP/contrib-2.1.0/ports/unix/port/perf.c.o 
89 CMakeFiles/lwip.dir/tmp/LwIP/contrib-2.1.0/ports/unix/port/netif/tapif.c.o 
90 CMakeFiles/lwip.dir/tmp/LwIP/contrib-2.1.0/ports/unix/port/netif/list.c.o 
91 CMakeFiles/lwip.dir/tmp/LwIP/contrib-2.1.0/ports/unix/port/netif/sio.c.o 
92 CMakeFiles/lwip.dir/tmp/LwIP/contrib-2.1.0/ports/unix/port/netif/fifo.c.o 
93 -lpthread
94 [100%] Built target lwip
liblwip.so

 

posted on 2020-12-23 20:43  LiveWithACat  阅读(379)  评论(0编辑  收藏  举报