交叉编译openGL,Ubuntu20.04 to aarch64 (三)

 编译eudev

进入解压后的文件夹:/home/huhu/third_part/openGL/eudev-3.2.5/

新建了一个build和install文件夹

先执行:sudo apt-get install gperf

./configure --prefix=/home/huhu/third_part/openGL/eudev-3.2.5/install CC=aarch64-none-linux-gnu-gcc CXX=aarch64-none-linux-gnu-g++ --disable-selinux --disable-blkid --host=arm-linux

huhu@huhu-System-Product-Name:~/third_part/openGL/eudev-3.2.5$ ./configure --prefix=/home/huhu/third_part/openGL/eudev-3.2.5/install CC=aarch64-none-linux-gnu-gcc CXX=aarch64-none-linux-gnu-g++ --disable-selinux --disable-blkid --host=arm-linux
checking for arm-linux-gcc... aarch64-none-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether aarch64-none-linux-gnu-gcc accepts -g... yes
checking for aarch64-none-linux-gnu-gcc option to accept ISO C89... none needed
checking whether aarch64-none-linux-gnu-gcc understands -c and -o together... yes
checking how to run the C preprocessor... aarch64-none-linux-gnu-gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-linux-strip... no
checking for strip... strip
configure: WARNING: using cross tools not prefixed with host triplet
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking whether make supports nested variables... yes
checking dependency style of aarch64-none-linux-gnu-gcc... gcc3
checking whether make supports nested variables... (cached) yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... arm-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by aarch64-none-linux-gnu-gcc... /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/bin/ld
checking if the linker (/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... no
checking for arm-linux-dumpbin... no
checking for arm-linux-link... no
checking for dumpbin... no
checking for link... link -dump
checking the name lister (nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to arm-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/bin/ld option to reload object files... -r
checking for arm-linux-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for arm-linux-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for arm-linux-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for arm-linux-strip... strip
checking for arm-linux-ranlib... no
checking for ranlib... ranlib
checking command to parse nm output from aarch64-none-linux-gnu-gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for arm-linux-mt... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if aarch64-none-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no
checking for aarch64-none-linux-gnu-gcc option to produce PIC... -fPIC -DPIC
checking if aarch64-none-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes
checking if aarch64-none-linux-gnu-gcc static flag -static works... yes
checking if aarch64-none-linux-gnu-gcc supports -c -o file.o... yes
checking if aarch64-none-linux-gnu-gcc supports -c -o file.o... (cached) yes
checking whether the aarch64-none-linux-gnu-gcc linker (/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for grep that handles long lines and -e... (cached) /usr/bin/grep
checking for gawk... (cached) mawk
checking for aarch64-none-linux-gnu-gcc option to accept ISO C99... none needed
checking whether we are using the GNU C++ compiler... yes
checking whether aarch64-none-linux-gnu-g++ accepts -g... yes
checking dependency style of aarch64-none-linux-gnu-g++... gcc3
checking how to run the C++ preprocessor... aarch64-none-linux-gnu-g++ -E
checking for ld used by aarch64-none-linux-gnu-g++... /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/bin/ld
checking if the linker (/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/bin/ld) is GNU ld... yes
checking whether the aarch64-none-linux-gnu-g++ linker (/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/bin/ld) supports shared libraries... yes
checking for aarch64-none-linux-gnu-g++ option to produce PIC... -fPIC -DPIC
checking if aarch64-none-linux-gnu-g++ PIC flag -fPIC -DPIC works... yes
checking if aarch64-none-linux-gnu-g++ static flag -static works... yes
checking if aarch64-none-linux-gnu-g++ supports -c -o file.o... yes
checking if aarch64-none-linux-gnu-g++ supports -c -o file.o... (cached) yes
checking whether the aarch64-none-linux-gnu-g++ linker (/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking how to run the C preprocessor... aarch64-none-linux-gnu-gcc -E
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking for m4... /usr/bin/m4
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for inttypes.h... (cached) yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/mount.h usability... yes
checking sys/mount.h presence... yes
checking for sys/mount.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/statvfs.h usability... yes
checking sys/statvfs.h presence... yes
checking for sys/statvfs.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/vfs.h usability... yes
checking sys/vfs.h presence... yes
checking for sys/vfs.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking mtd/mtd-user.h usability... yes
checking mtd/mtd-user.h presence... yes
checking for mtd/mtd-user.h... yes
checking linux/btrfs.h usability... yes
checking linux/btrfs.h presence... yes
checking for linux/btrfs.h... yes
checking for uid_t in sys/types.h... yes
checking for inline... inline
checking for mode_t... yes
checking for pid_t... yes
checking for struct stat.st_rdev... yes
checking whether getrandom is declared... no
checking whether gettid is declared... yes
checking whether name_to_handle_at is declared... yes
checking whether accept4 is declared... yes
checking whether mkostemp is declared... yes
checking whether ppoll is declared... yes
checking whether strndupa is declared... yes
checking size of pid_t... 4
checking size of uid_t... 4
checking size of gid_t... 4
checking size of dev_t... 8
checking size of time_t... 8
checking size of rlim_t... 8
checking for unistd.h... (cached) yes
checking for working chown... no
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... cross
configure: WARNING: result yes guessed because of cross compilation
checking for working vfork... (cached) yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking type of array argument to getgroups... gid_t
checking for size_t... yes
checking for getgroups... yes
checking for working getgroups... no
checking whether lstat correctly handles trailing slash... no
checking whether sys/types.h defines makedev... no
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/sysmacros.h usability... yes
checking sys/sysmacros.h presence... yes
checking for sys/sysmacros.h... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... no
checking for alarm... yes
checking for dup2... yes
checking for ftruncate... yes
checking for localtime_r... yes
checking for mempcpy... yes
checking for mkdir... yes
checking for munmap... yes
checking for nl_langinfo... yes
checking for rmdir... yes
checking for setlocale... yes
checking for socket... yes
checking for stpcpy... yes
checking for uname... yes
checking for library containing clock_gettime... none required
checking for cos in -lm... yes
checking for arm-linux-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gobject-introspection... no
checking for mallinfo... yes
checking whether unshare is declared... yes
checking for arm-linux-gperf... no
checking for gperf... /usr/bin/gperf
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating hwdb/Makefile
config.status: creating man/Makefile
config.status: creating rule_generator/Makefile
config.status: creating rule_generator/write_net_rules
config.status: creating rules/Makefile
config.status: creating src/Makefile
config.status: creating src/ata_id/Makefile
config.status: creating src/cdrom_id/Makefile
config.status: creating src/collect/Makefile
config.status: creating src/mtd_probe/Makefile
config.status: creating src/scsi_id/Makefile
config.status: creating src/v4l_id/Makefile
config.status: creating src/shared/Makefile
config.status: creating src/libudev/Makefile
config.status: creating src/libudev/libudev.pc
config.status: creating src/udev/Makefile
config.status: creating src/udev/udev.pc
config.status: creating test/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands

        prefix:                  /home/huhu/third_part/openGL/eudev-3.2.5/install
        exec_prefix:             ${prefix}
        sysconfdir:              ${prefix}/etc
        datadir:                 ${datarootdir}
        includedir:              ${prefix}/include
        libdir:                  ${exec_prefix}/lib

        rootprefix:              ${prefix}
        rootlibdir:              ${exec_prefix}/lib
        rootlibexecdir:          ${exec_prefix}/lib/udev
        datarootdir:             ${prefix}/share
        rootrundir:              /run

        udevconfdir:             ${prefix}/etc/udev
        udevconffile:            ${prefix}/etc/udev/udev.conf
        udevhwdbdir:             ${prefix}/etc/udev/hwdb.d
        udevhwdbbin:             ${prefix}/etc/udev/hwdb.bin
        udevlibexecdir:          ${exec_prefix}/lib/udev
        udevkeymapdir:           ${exec_prefix}/lib/udev/keymaps
        udevkeymapforceredir:    ${exec_prefix}/lib/udev/keymaps/force-release
        udevrulesdir:            ${exec_prefix}/lib/udev/rules.d

        pkgconfiglibdir:         ${exec_prefix}/lib/pkgconfig
        sharepkgconfigdir        ${datarootdir}/pkgconfig

        girdir                   ${datarootdir}/gir-1.0
        typelibsdir              ${exec_prefix}/lib/girepository-1.0

make

make install

huhu@huhu-System-Product-Name:~/third_part/openGL/eudev-3.2.5$ make
make  all-recursive
make[1]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5”
Making all in src
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src”
Making all in shared
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/shared”
  CC       conf-files.lo
  CC       device-nodes.lo
  CC       dev-setup.lo
  CC       fileio.lo
  CC       hashmap.lo
  CC       label.lo
  CC       log.lo
  CC       mempool.lo
  CC       mkdir.lo
  CC       mkdir-label.lo
  CC       MurmurHash2.lo
  CC       path-util.lo
  CC       process-util.lo
  CC       random-util.lo
  CC       selinux-util.lo
  CC       siphash24.lo
  CC       smack-util.lo
  CC       strbuf.lo
  CC       strv.lo
  CC       strxcpyx.lo
  CC       sysctl-util.lo
  CC       terminal-util.lo
  CC       time-util.lo
  CC       util.lo
util.c: 在函数‘tempfn_xxxxxx’中:
util.c:1729:23: 警告: passing argument 1 of ‘__xpg_basename’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1729 |         fn = basename(p);
      |                       ^
In file included from util.c:55:
/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/libgen.h:34:36: 附注: 需要类型‘char *’,但实参的类型为‘const char *’
   34 | extern char *__xpg_basename (char *__path) __THROW;
      |                              ~~~~~~^~~~~~
  CC       utf8.lo
  CC       virt.lo
  CCLD     libudev_shared.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/shared”
Making all in libudev
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/libudev”
  CC       libudev_la-libudev.lo
  CC       libudev_la-libudev-list.lo
  CC       libudev_la-libudev-util.lo
  CC       libudev_la-libudev-device.lo
  CC       libudev_la-libudev-enumerate.lo
  CC       libudev_la-libudev-monitor.lo
  CC       libudev_la-libudev-queue.lo
  CC       libudev_la-libudev-hwdb.lo
In file included from libudev-hwdb-def.h:23,
                 from libudev-hwdb.c:32:
../../src/shared/sparse-endian.h:32: 警告: “__bitwise”重定义
   32 | #define __bitwise
      | 
In file included from /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/asm/sigcontext.h:22,
                 from /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/bits/sigcontext.h:30,
                 from /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/signal.h:288,
                 from libudev-private.h:23,
                 from libudev-hwdb.c:31:
/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/linux/types.h:22: 附注: 这是先前定义的位置
   22 | #define __bitwise __bitwise__
      | 
  CCLD     libudev.la
ar: `u' modifier ignored since `D' is the default (see `U')
  CC       libudev_private_la-libudev.lo
  CC       libudev_private_la-libudev-list.lo
  CC       libudev_private_la-libudev-util.lo
  CC       libudev_private_la-libudev-device.lo
  CC       libudev_private_la-libudev-enumerate.lo
  CC       libudev_private_la-libudev-monitor.lo
  CC       libudev_private_la-libudev-queue.lo
  CC       libudev_private_la-libudev-hwdb.lo
In file included from libudev-hwdb-def.h:23,
                 from libudev-hwdb.c:32:
../../src/shared/sparse-endian.h:32: 警告: “__bitwise”重定义
   32 | #define __bitwise
      | 
In file included from /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/asm/sigcontext.h:22,
                 from /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/bits/sigcontext.h:30,
                 from /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/signal.h:288,
                 from libudev-private.h:23,
                 from libudev-hwdb.c:31:
/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/linux/types.h:22: 附注: 这是先前定义的位置
   22 | #define __bitwise __bitwise__
      | 
  CC       libudev_private_la-libudev-device-private.lo
  CCLD     libudev-private.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/libudev”
Making all in udev
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/udev”
  GEN      keyboard-keys.txt
  GEN      keyboard-keys-from-name.gperf
/usr/bin/gperf -L ANSI-C -t -N keyboard_lookup_key -H hash_key_name -p -C < keyboard-keys-from-name.gperf > keyboard-keys-from-name.h
  GEN      keyboard-keys-to-name.h
make  all-am
make[4]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/udev”
  CC       libudev_core_la-udev-event.lo
udev-event.c: 在函数‘udev_event_apply_format’中:
udev-event.c:204:27: 警告: assignment to ‘char *’ from incompatible pointer type ‘char (*)[1024]’ [-Wincompatible-pointer-types]
  204 |                         s = &sbuf;
      |                           ^
  CC       libudev_core_la-udev-watch.lo
  CC       libudev_core_la-udev-node.lo
  CC       libudev_core_la-udev-rules.lo
  CC       libudev_core_la-udev-ctrl.lo
  CC       libudev_core_la-udev-builtin.lo
  CC       libudev_core_la-udev-builtin-btrfs.lo
  CC       libudev_core_la-udev-builtin-hwdb.lo
  CC       libudev_core_la-udev-builtin-input_id.lo
  CC       libudev_core_la-udev-builtin-net_id.lo
  CC       libudev_core_la-udev-builtin-path_id.lo
  CC       libudev_core_la-udev-builtin-usb_id.lo
  CC       libudev_core_la-udev-builtin-keyboard.lo
  CCLD     libudev-core.la
ar: `u' modifier ignored since `D' is the default (see `U')
  CC       udevadm.o
  CC       udevadm-info.o
  CC       udevadm-control.o
  CC       udevadm-monitor.o
  CC       udevadm-hwdb.o
In file included from ../../src/libudev/libudev-hwdb-def.h:23,
                 from udevadm-hwdb.c:31:
../../src/shared/sparse-endian.h:32: 警告: “__bitwise”重定义
   32 | #define __bitwise
      | 
In file included from /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/asm/sigcontext.h:22,
                 from /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/bits/sigcontext.h:30,
                 from /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/signal.h:288,
                 from /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/sys/param.h:28,
                 from ../../src/shared/macro.h:23,
                 from ../../src/shared/time-util.h:29,
                 from ../../src/shared/util.h:36,
                 from udevadm-hwdb.c:26:
/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include/linux/types.h:22: 附注: 这是先前定义的位置
   22 | #define __bitwise __bitwise__
      | 
  CC       udevadm-settle.o
  CC       udevadm-trigger.o
  CC       udevadm-test.o
  CC       udevadm-test-builtin.o
  CC       udevadm-util.o
  CCLD     udevadm
  CC       udevd.o
  CCLD     udevd
make[4]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/udev”
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/udev”
Making all in ata_id
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/ata_id”
  CC       ata_id.o
  CCLD     ata_id
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/ata_id”
Making all in cdrom_id
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/cdrom_id”
  CC       cdrom_id.o
  CCLD     cdrom_id
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/cdrom_id”
Making all in collect
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/collect”
  CC       collect.o
  CCLD     collect
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/collect”
Making all in scsi_id
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/scsi_id”
  CC       scsi_id.o
  CC       scsi_serial.o
  CCLD     scsi_id
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/scsi_id”
Making all in v4l_id
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/v4l_id”
  CC       v4l_id.o
  CCLD     v4l_id
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/v4l_id”
Making all in mtd_probe
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/mtd_probe”
  CC       mtd_probe.o
  CC       probe_smartmedia.o
  CCLD     mtd_probe
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/mtd_probe”
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src”
make[3]: 对“all-am”无需做任何事。
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src”
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src”
Making all in rules
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/rules”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/rules”
Making all in test
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/test”
  CC       test_libudev-test-libudev.o
  CCLD     test-libudev
  CC       test_udev-test-udev.o
  CCLD     test-udev
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/test”
Making all in hwdb
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/hwdb”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/hwdb”
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5”
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5”
make[1]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5”
huhu@huhu-System-Product-Name:~/third_part/openGL/eudev-3.2.5$ make install
Making install in src
make[1]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src”
Making install in shared
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/shared”
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/shared”
make[3]: 对“install-exec-am”无需做任何事。
make[3]: 对“install-data-am”无需做任何事。
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/shared”
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/shared”
Making install in libudev
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/libudev”
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/libudev”
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib'
 /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libudev.la '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib'
libtool: install: /usr/bin/install -c .libs/libudev.so.1.6.3 /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/libudev.so.1.6.3
libtool: install: (cd /home/huhu/third_part/openGL/eudev-3.2.5/install/lib && { ln -s -f libudev.so.1.6.3 libudev.so.1 || { rm -f libudev.so.1 && ln -s libudev.so.1.6.3 libudev.so.1; }; })
libtool: install: (cd /home/huhu/third_part/openGL/eudev-3.2.5/install/lib && { ln -s -f libudev.so.1.6.3 libudev.so || { rm -f libudev.so && ln -s libudev.so.1.6.3 libudev.so; }; })
libtool: install: /usr/bin/install -c .libs/libudev.lai /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/libudev.la
libtool: install: /usr/bin/install -c .libs/libudev.a /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/libudev.a
libtool: install: chmod 644 /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/libudev.a
libtool: install: ranlib /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/libudev.a
libtool: finish: PATH="/opt/ros/noetic/bin:/home/huhu/third_part/qt5.14/5.14.1/gcc_64:/home/huhu/third_part/qt5.14/Tools/QtCreator/bin:/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/sbin" ldconfig -n /home/huhu/third_part/openGL/eudev-3.2.5/install/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/huhu/third_part/openGL/eudev-3.2.5/install/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make  install-exec-hook
make[4]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/libudev”
libname=libudev.so && 	if test "/home/huhu/third_part/openGL/eudev-3.2.5/install/lib" != "/home/huhu/third_part/openGL/eudev-3.2.5/install/lib"; then /usr/bin/mkdir -p /home/huhu/third_part/openGL/eudev-3.2.5/install/lib && so_img_name=$(readlink /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/$libname) && so_img_rel_target_prefix=$(echo /home/huhu/third_part/openGL/eudev-3.2.5/install/lib | sed 's,\(^/\|\)[^/][^/]*,..,g') && ln -s -f $so_img_rel_target_prefix/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/$so_img_name /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/$libname && mv /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/$libname.* /home/huhu/third_part/openGL/eudev-3.2.5/install/lib; fi
make[4]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/libudev”
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/include'
 /usr/bin/install -c -m 644 libudev.h '/home/huhu/third_part/openGL/eudev-3.2.5/install/include'
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/pkgconfig'
 /usr/bin/install -c -m 644 libudev.pc '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/pkgconfig'
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/libudev”
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/libudev”
Making install in udev
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/udev”
make  install-am
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/udev”
make[4]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/udev”
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/bin'
  /bin/bash ../../libtool   --mode=install /usr/bin/install -c udevadm '/home/huhu/third_part/openGL/eudev-3.2.5/install/bin'
libtool: install: /usr/bin/install -c udevadm /home/huhu/third_part/openGL/eudev-3.2.5/install/bin/udevadm
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/sbin'
  /bin/bash ../../libtool   --mode=install /usr/bin/install -c udevd '/home/huhu/third_part/openGL/eudev-3.2.5/install/sbin'
libtool: install: /usr/bin/install -c udevd /home/huhu/third_part/openGL/eudev-3.2.5/install/sbin/udevd
make  install-exec-hook
make[5]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/udev”
if test "/home/huhu/third_part/openGL/eudev-3.2.5/install/bin" != "/home/huhu/third_part/openGL/eudev-3.2.5/install/sbin"; then \
	ln -s -n -f /home/huhu/third_part/openGL/eudev-3.2.5/install/bin/udevadm /home/huhu/third_part/openGL/eudev-3.2.5/install/sbin/udevadm; \
fi
make[5]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/udev”
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/etc/udev'
 /usr/bin/install -c -m 644 udev.conf '/home/huhu/third_part/openGL/eudev-3.2.5/install/etc/udev'
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/include'
 /usr/bin/install -c -m 644 udev.h '/home/huhu/third_part/openGL/eudev-3.2.5/install/include'
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/share/pkgconfig'
 /usr/bin/install -c -m 644 udev.pc '/home/huhu/third_part/openGL/eudev-3.2.5/install/share/pkgconfig'
make[4]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/udev”
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/udev”
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/udev”
Making install in ata_id
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/ata_id”
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/ata_id”
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev'
  /bin/bash ../../libtool   --mode=install /usr/bin/install -c ata_id '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev'
libtool: install: /usr/bin/install -c ata_id /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev/ata_id
make[3]: 对“install-data-am”无需做任何事。
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/ata_id”
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/ata_id”
Making install in cdrom_id
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/cdrom_id”
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/cdrom_id”
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev'
  /bin/bash ../../libtool   --mode=install /usr/bin/install -c cdrom_id '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev'
libtool: install: /usr/bin/install -c cdrom_id /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev/cdrom_id
make[3]: 对“install-data-am”无需做任何事。
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/cdrom_id”
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/cdrom_id”
Making install in collect
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/collect”
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/collect”
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev'
  /bin/bash ../../libtool   --mode=install /usr/bin/install -c collect '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev'
libtool: install: /usr/bin/install -c collect /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev/collect
make[3]: 对“install-data-am”无需做任何事。
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/collect”
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/collect”
Making install in scsi_id
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/scsi_id”
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/scsi_id”
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev'
  /bin/bash ../../libtool   --mode=install /usr/bin/install -c scsi_id '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev'
libtool: install: /usr/bin/install -c scsi_id /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev/scsi_id
make[3]: 对“install-data-am”无需做任何事。
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/scsi_id”
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/scsi_id”
Making install in v4l_id
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/v4l_id”
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/v4l_id”
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev'
  /bin/bash ../../libtool   --mode=install /usr/bin/install -c v4l_id '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev'
libtool: install: /usr/bin/install -c v4l_id /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev/v4l_id
make[3]: 对“install-data-am”无需做任何事。
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/v4l_id”
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/v4l_id”
Making install in mtd_probe
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/mtd_probe”
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/mtd_probe”
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev'
  /bin/bash ../../libtool   --mode=install /usr/bin/install -c mtd_probe '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev'
libtool: install: /usr/bin/install -c mtd_probe /home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev/mtd_probe
make[3]: 对“install-data-am”无需做任何事。
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/mtd_probe”
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src/mtd_probe”
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src”
make[3]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/src”
make[3]: 对“install-exec-am”无需做任何事。
make[3]: 对“install-data-am”无需做任何事。
make[3]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src”
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src”
make[1]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/src”
Making install in rules
make[1]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/rules”
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/rules”
make[2]: 对“install-exec-am”无需做任何事。
/usr/bin/mkdir -p /home/huhu/third_part/openGL/eudev-3.2.5/install/etc/udev/rules.d
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev/rules.d'
 /usr/bin/install -c -m 644 50-udev-default.rules 60-block.rules 60-cdrom_id.rules 60-drm.rules 60-evdev.rules 60-persistent-alsa.rules 60-persistent-input.rules 60-persistent-storage-tape.rules 60-persistent-v4l.rules 60-sensor.rules 60-serial.rules 64-btrfs.rules 70-mouse.rules 70-touchpad.rules 75-net-description.rules 78-sound-card.rules 80-net-name-slot.rules 75-probe_mtd.rules '/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/udev/rules.d'
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/rules”
make[1]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/rules”
Making install in test
make[1]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/test”
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/test”
make[2]: 对“install-exec-am”无需做任何事。
make[2]: 对“install-data-am”无需做任何事。
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/test”
make[1]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/test”
Making install in hwdb
make[1]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/hwdb”
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5/hwdb”
make[2]: 对“install-exec-am”无需做任何事。
 /usr/bin/mkdir -p '/home/huhu/third_part/openGL/eudev-3.2.5/install/etc/udev/hwdb.d'
 /usr/bin/install -c -m 644 20-OUI.hwdb 20-acpi-vendor.hwdb 20-bluetooth-vendor-product.hwdb 20-net-ifname.hwdb 20-pci-classes.hwdb 20-pci-vendor-model.hwdb 20-sdio-classes.hwdb 20-sdio-vendor-model.hwdb 20-usb-classes.hwdb 20-usb-vendor-model.hwdb 60-evdev.hwdb 60-keyboard.hwdb 60-sensor.hwdb 70-mouse.hwdb 70-pointingstick.hwdb 70-touchpad.hwdb '/home/huhu/third_part/openGL/eudev-3.2.5/install/etc/udev/hwdb.d'
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/hwdb”
make[1]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5/hwdb”
make[1]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5”
make[2]: 进入目录“/home/huhu/third_part/openGL/eudev-3.2.5”
make[2]: 对“install-exec-am”无需做任何事。
make[2]: 对“install-data-am”无需做任何事。
make[2]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5”
make[1]: 离开目录“/home/huhu/third_part/openGL/eudev-3.2.5”

可以看到install文件夹下就出现了编译好后的文件(接下来的libxua交叉编译时需要依赖如下的文件)

huhu@huhu-System-Product-Name:~/third_part/openGL/eudev-3.2.5$ cd install/
huhu@huhu-System-Product-Name:~/third_part/openGL/eudev-3.2.5/install$ ls
bin  etc  include  lib  sbin  share

同时在~/.bashrc文件中添加如下的包路径

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/home/huhu/third_part/openGL/eudev-3.2.5/install/lib/pkgconfig"

source .bashrc


 编译mesa

进入解压后的文件夹:/home/huhu/third_part/openGL/mesa-12.0.5/

新建了一个build和install文件夹

先执行:sudo apt install libudev-dev

./configure --prefix=/home/huhu/third_part/openGL/mesa-12.0.5/install CC=aarch64-none-linux-gnu-gcc CXX=aarch64-none-linux-gnu-g++ CPPFLAGS="-I/home/huhu/third_part/openGL/libpciaccess-0.16/install/include -I/home/huhu/third_part/openGL/eudev-3.2.5/install/include -I/home/huhu/third_part/openGL/expat-2.2.7/install/include -I/home/huhu/third_part/openGL/libxshmfence-1.3/install/include -I/home/huhu/third_part/openGL/xproto-7.0.23/install/include -I/home/huhu/third_part/openGL/libxcb-1.5/install/include -I/home/huhu/third_part/openGL/openssl-openssl-master/install/include" LDFLAGS="-L/home/huhu/third_part/openGL/libpciaccess-0.16/install/lib -L/home/huhu/third_part/openGL/eudev-3.2.5/install/lib -L/home/huhu/third_part/openGL/expat-2.2.7/install/lib -L/home/huhu/third_part/openGL/libxshmfence-1.3/install/lib -L/home/huhu/third_part/openGL/xproto-7.0.23/install/lib -L/home/huhu/third_part/openGL/libxcb-1.5/install/lib -L/home/huhu/third_part/openGL/openssl-openssl-master/install/lib" --enable-opengl --enable-gles1 --enable-gles2 --disable-cairo-tests --disable-dri3 --disable-glx --disable-egl --enable-intel --host=arm-linux

huhu@huhu-System-Product-Name:~/third_part/openGL/mesa-12.0.5$ ./configure --prefix=/home/huhu/third_part/openGL/mesa-12.0.5/install CC=aarch64-none-linux-gnu-gcc CXX=aarch64-none-linux-gnu-g++ CPPFLAGS="-I/home/huhu/third_part/openGL/libpciaccess-0.16/install/include -I/home/huhu/third_part/openGL/eudev-3.2.5/install/include -I/home/huhu/third_part/openGL/expat-2.2.7/install/include -I/home/huhu/third_part/openGL/libxshmfence-1.3/install/include -I/home/huhu/third_part/openGL/xproto-7.0.23/install/include -I/home/huhu/third_part/openGL/libxcb-1.5/install/include -I/home/huhu/third_part/openGL/openssl-openssl-master/install/include" LDFLAGS="-L/home/huhu/third_part/openGL/libpciaccess-0.16/install/lib -L/home/huhu/third_part/openGL/eudev-3.2.5/install/lib -L/home/huhu/third_part/openGL/expat-2.2.7/install/lib -L/home/huhu/third_part/openGL/libxshmfence-1.3/install/lib -L/home/huhu/third_part/openGL/xproto-7.0.23/install/lib -L/home/huhu/third_part/openGL/libxcb-1.5/install/lib -L/home/huhu/third_part/openGL/openssl-openssl-master/install/lib" --enable-opengl --enable-gles1 --enable-gles2 --disable-c
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值