• 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
  • 相关阅读:
    省选模拟81
    概率期望+计数
    省选模拟80
    省选模拟79
    省选模拟78
    Jenkins 安装及 Git | Maven 安装
    虚拟机VirtualBox及轻量级的CentOS
    服务器免密码登录
    Nginx 常用配置模板
    IDEA配置 及 快捷键
  • 原文地址:https://www.cnblogs.com/aimmiao/p/14180951.html
Copyright © 2020-2023  润新知