搜索
bottom↓
回复: 15

关于ARM GTK/X11的问题,懂的指点一下

[复制链接]

出0入0汤圆

发表于 2012-7-25 20:32:54 | 显示全部楼层 |阅读模式
是需要在ARM上运行的,不是X86运行

GTK/X11,一定需要Xfree86吗?
Xfree86我网上看了半天就是与字体有关?
freetype不也是这个功能吗?
tinyX又是怎么回事?看起来貌似与Xfree86有关系
libX11, 与Xfree86有什么关系?

出0入0汤圆

发表于 2012-7-25 20:56:55 | 显示全部楼层
gtk  也可以在 directfb 上运行
,但是如果移植x86的gtk程序的话有很多都依赖x11
所以最好还是在x11之上运行gtk
所以先要移植X11,也就是xorg server到arm,
在移植gtk到arm上,说是移植。
也就是个交叉编译。

出0入0汤圆

发表于 2012-7-25 21:01:09 | 显示全部楼层
提供简要移植(交叉编译)过程


以编译arm11架构处理器为列

1)   下载并安装scratchbox
连接:h t t p://www.scratchbox.org/
以上网的文档里有教程也有相关下载
安装好scratchbox建立帐户并设定好新的target


2)  接下来的操作都在scratchbox中
下载以依赖下库(不都是必须,可根据需要裁减),解压到一个目录中
按照以下顺序编译:

cd zlib-1.2.5
make distclean
./configure --shared --prefix=/usr
make
make install
cd ..

cd glib-2.26.0
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd libpng-1.2.44
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd jpeg-7
make distclean
./configure --enable-shared --enable-static --prefix=/usr
make
make install
cd ..

cd tiff-3.9.4
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd expat-2.0.0
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd freetype-2.4.4
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd atk-1.32.0
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd libxml2-2.7.8
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd fontconfig-2.8.0
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd pixman-0.21.2
make distclean
./configure --disable-arm-neon --prefix=/usr  
make
make install
cd ..

cd sqlite-3.7.4
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd tslib-1.0
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd links-1.00
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd openssl-1.0.0c
make distclean
./Configure --prefix=/usr --openssldir=/usr/openssl linux-armv4
make
make install
cd ..

cd Python-2.7
make distclean
./configure --prefix=/usr
make
make install
cd ..

执行 ldconfig

3)编译X11与相关依赖库
h t t p://www.x.org/releases/X11R7.6/src/
在以上网之中把除了everything目录外其他目录中的都下下来(不是都必要,但全下下来省心)并保持原目录结构不变,解压缩
这里假设相关目录督保存在X11R76这个目录下

执行:export PYTHON=/usr/bin/python2.7

1)进入util目录
    进入util-macros-1.11.0目录
        make distclean
        ./configure --prefix=/usr
        make
        make install
         
2)进入font目录
    进入font-util-1.2.0目录
    make distclean
    ./configure --prefix=/usr
    make
    make install
     
3)进入proto目录
    分别进入以下目录,执行以下命令
    make distclean
    ./configure --prefix=/usr
    make
    make install     
     
    目录列表(省略版本号)
    bigreqsproto
    compositeproto
    damageproto
    dmxproto
    dri2proto
    fixesproto
    fontsproto
    glproto
    inputproto
    kbproto
    randrproto
    recordproto
    renderproto
    resourceproto
    scrnsaverproto
    videoproto
    x11proto
    xcmiscproto
    xextproto
    xf86bigfontproto
    xf86dgaproto
    xf86driproto
    xf86vidmodeproto
    xineramaproto
    xcb(在xcb目录中)
     
4)进入lib目录
    分别进入以下目录,执行以下命令
    make distclean
    ./configure --prefix=/usr
    make
    make install     
     
    目录列表(省略版本号)
    libxtrans
    libXau
    libXdmcp
     
    pthread-stubs(在xcb目录中)
    libxcb(在xcb目录中)
    util(在xcb目录中)
     
    libX11
    libXext
    libdmx
    libfontenc
    libFS
    libICE
    libSM
    libXt
    libXmu
    libXpm
    libXaw
    libXfixes
    libXcomposite
    libXrender
    libXdamage
    libXcursor
    libXfont
    libXft
    libXi
    libXinerama
    libxkbfile
    libXrandr
    libXRes
    libXScrnSaver
    libXtst
    libXv
    libXvMC
    libXxf86dga
    libXxf86vm
    libpciaccess
     
5)进入data目录
    进入xbitmaps-1.1.1目录
    make distclean
    ./configure --prefix=/usr
    make
    make install
     
6)进入app目录
    分别进入以下目录,执行以下命令
    make distclean
    ./configure --prefix=/usr
    make
    make install
     
    目录列表(省略版本号)
    bdftopcf
    iceauth
    luit
    mkfontdir
    mkfontscale
    sessreg
    setxkbmap
    x11perf
    xauth
    xbacklight
    xcmsdb
    xcursorgen
    xdpyinfo
    xev
    xhost
    xinit
    xinput
    xkbcomp
    xkbevd
    xkbutils
    xkill
    xlsatoms
    xmodmap
    xprop
    xrandr
    xrdb
    xrefresh
    xset
    xsetroot
    xvinfo
    xwd
    xwininfo
    xwud
     
7)进入xserver目录
    进入xorg-server-1.9.3目录
    make distclean
    ./configure --disable-glx --enable-dri=no --enable-dri2=no --prefix=/usr
    make
    make install
     
8)进入driver目录
    分别进入以下目录,执行以下命令
    make distclean
    ./configure --prefix=/usr
    make
    make install
     
    目录列表(省略版本号)
    xf86-input-evdev
    xf86-input-keyboard
    xf86-input-mouse
    xf86-input-void
    xf86-input-tslib
     
    xf86-video-fbdev
     
至此xorg server 编译完毕

4)编译gtk与相关依赖库
接下来的操作都在scratchbox中
下载以依赖下库(不都是必须,可根据需要裁减),解压到一个目录中
按照以下顺序编译:

ldconfig

cd cairo-1.10.0
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd pango-1.28.3
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd gtk+-2.20.1
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd libiconv-1.13.1
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd gtk-engines-2.20.1
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd libmatchbox-1.9
make distclean
./configure --prefix=/usr
make
make install
cd ..

cd matchbox-window-manager-1.2
make distclean
./configure --prefix=/usr
make
make install
cd ..

ldconfig

至此gtk+编译完成

到此为止X11(xorg)与gtk全部的文件都安装在scratchbox但前tatget下的/usr目录下,
可以将这个目录烧写到硬件文件系统的/usr下,或通过nfs加载

以上只是大致的步骤,交叉编译xorg是一件很繁琐的事情,需要有耐心,出现错误要多看错误信息与察看configure文件,多google

以上编译选项可在armv5,armv6下运行

另外如果是编译armv4架构的要在所有的编译选项处加上-march=armv4t

另外如果是编译armv7架构的要在所有的编译选项处加上-mthumb -march=armv7-a

以上编译出的xorg基本上具有全部功能与特性,没有经过什么裁减

可以根据实际需要查看configure的设定进行适当裁减

出0入0汤圆

 楼主| 发表于 2012-7-25 21:09:56 | 显示全部楼层
noir 发表于 2012-7-25 21:01
提供简要移植(交叉编译)过程

谢谢了
我现在编译GTK,但是出问题了,找不到解决办法
nstalling local zlib......
Checking for gcc...
Checking for shared library support...
Building shared library libz.so.1.2.5 with gcc.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for unistd.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for attribute(visibility) support... Yes.
.........................
checking whether build environment is sane... yes
checking for arm-linux-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
configure: WARNING: using cross tools not prefixed with host triplet
checking pkg-config is at least version 0.9.0... yes
checking for BASE_DEPENDENCIES... yes
checking for CAIRO_BACKEND... yes
checking Whether to write dependencies into .pc files... no
checking for perl5... no
checking for perl... /usr/bin/perl
checking for indent... indent
checking for lstat... yes
checking for mkstemp... yes
checking for flockfile... yes
checking for getc_unlocked... yes
checking for localtime_r... yes
checking for _NL_TIME_FIRST_WEEKDAY... yes
checking for _NL_MEASUREMENT_MEASUREMENT... yes
checking for _NL_PAPER_HEIGHT... yes
checking for _NL_PAPER_WIDTH... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... /usr/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for catalogs to be installed... af am ang ar as ast az az_IR be be@latin bg bn bn_IN br bs ca ca@valencia crh cs cy da de dz el en en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu hy ia id io is it ja ka kg kk kn ko ku lg li lt lv mai mi mk ml mn mr ms my nb nds ne nl nn nso oc or pa pl ps pt pt_BR ro ru rw si sk sl sq sr sr@latin sr@ije sv ta te th tk tr tt ug uk ur uz uz@cyrillic vi wa xh yi zh_CN zh_HK zh_TW
checking for extra flags to get ANSI library prototypes... none needed
checking for the BeOS... no
checking for HP-UX... no
checking for arm-linux-pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.16... yes
checking for GLIB - version >= 2.28.0... cross compiling; assumed OK...
yes (version 2.28.3)
checking for bind_textdomain_codeset... (cached) yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking ftw.h usability... yes
checking ftw.h presence... yes
checking for ftw.h... yes
checking for GNU ftw extensions... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... no
checking for mallinfo... yes
checking for getresuid... yes
checking for uid_t in sys/types.h... yes
checking for uxtheme.h... no
checking crt_externs.h usability... no
checking crt_externs.h presence... no
checking for crt_externs.h... no
checking for _NSGetEnviron... (cached) yes
checking whether to build dynamic modules... yes
checking whether dynamic modules work... yes
checking immodules to build...
checking sys/systeminfo.h usability... no
checking sys/systeminfo.h presence... no
checking for sys/systeminfo.h... no
checking sys/sysinfo.h usability... yes
checking sys/sysinfo.h presence... yes
checking for sys/sysinfo.h... yes
checking for gtk-update-icon-cache... /usr/bin/gtk-update-icon-cache
checking for gdk-pixbuf-csource... /usr/bin/gdk-pixbuf-csource
checking for XOpenDisplay... (cached) yes
checking for XextFindDisplay... (cached) yes
checking if <X11/extensions/XIproto.h> is needed for xReply... no
checking for XConvertCase... yes
checking for XInternAtoms... yes
checking for XAddConnectionWatch... yes
checking for XkbQueryExtension... yes
checking for XShapeCombineMask... (cached) yes
checking for XSyncQueryExtension... yes
checking for X11/extensions/sync.h... yes
checking for Xinerama packages... yes
..............................
config.status: creating gdk/win32/Makefile
config.status: creating gdk/win32/rc/Makefile
config.status: creating gdk/win32/rc/gdk.rc
config.status: creating gdk/quartz/Makefile
config.status: creating gdk/tests/Makefile
config.status: creating gtk/Makefile
config.status: creating gtk/makefile.msc
config.status: creating gtk/gtkversion.h
config.status: creating gtk/gtk-win32.rc
config.status: creating gtk/tests/Makefile
config.status: creating modules/Makefile
config.status: creating modules/other/Makefile
config.status: creating modules/other/gail/Makefile
config.status: creating modules/other/gail/libgail-util/Makefile
config.status: creating modules/other/gail/tests/Makefile
config.status: creating modules/engines/Makefile
config.status: creating modules/engines/pixbuf/Makefile
config.status: creating modules/engines/ms-windows/Makefile
config.status: creating modules/engines/ms-windows/Theme/Makefile
config.status: creating modules/engines/ms-windows/Theme/gtk-3.0/Makefile
config.status: creating modules/input/Makefile
config.status: creating modules/printbackends/Makefile
config.status: creating modules/printbackends/cups/Makefile
config.status: creating modules/printbackends/lpr/Makefile
config.status: creating modules/printbackends/file/Makefile
config.status: creating modules/printbackends/papi/Makefile
config.status: creating modules/printbackends/test/Makefile
config.status: creating perf/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: executing po-properties commands
config.status: executing gdk/gdkconfig.h commands
config.status: gdk/gdkconfig.h is unchanged

  GTK+ 3.0.3
  ===========

  GDK backends: x11
  X11 extensions: XKB Xinerama XI2 XFIXES Composite DAMAGE
  Print backends: file lpr
  Dynamic modules: yes
  Included immodules: none
  PackageKit support: yes
  Introspection: no
  Debugging: minimum
  Documentation: no
make all-recursive
make[1]: Entering directory `/home/gtk/gtk+-3.0.3'
Making all in po
make[2]: Entering directory `/home/gtk/gtk+-3.0.3/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/gtk/gtk+-3.0.3/po'
Making all in po-properties
make[2]: Entering directory `/home/gtk/gtk+-3.0.3/po-properties'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/gtk/gtk+-3.0.3/po-properties'
Making all in gdk
make[2]: Entering directory `/home/gtk/gtk+-3.0.3/gdk'
config.status: executing gdk/gdkconfig.h commands
config.status: gdk/gdkconfig.h is unchanged
echo timestamp > stamp-gc-h
  GEN gdkconfig.h
make all-recursive
make[3]: Entering directory `/home/gtk/gtk+-3.0.3/gdk'
Making all in x11
make[4]: Entering directory `/home/gtk/gtk+-3.0.3/gdk/x11'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/gtk/gtk+-3.0.3/gdk/x11'
Making all in .
make[4]: Entering directory `/home/gtk/gtk+-3.0.3/gdk'
  GEN gdkconfig.h
make[4]: Leaving directory `/home/gtk/gtk+-3.0.3/gdk'
Making all in tests
make[4]: Entering directory `/home/gtk/gtk+-3.0.3/gdk/tests'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/gtk/gtk+-3.0.3/gdk/tests'
make[3]: Leaving directory `/home/gtk/gtk+-3.0.3/gdk'
make[2]: Leaving directory `/home/gtk/gtk+-3.0.3/gdk'
Making all in gtk
make[2]: Entering directory `/home/gtk/gtk+-3.0.3/gtk'
  GEN gtktypefuncs.c
arm-none-linux-gnueabi-gcc: %s: No such file or directory
arm-none-linux-gnueabi-gcc: %f": No such file or directory
cc1: error: unrecognized command line option "-funlink-tempfile"
cc1: error: unrecognized command line option "-fpreview"
cc1: error: unrecognized command line option "-fprint-settings"

make all-recursive
make[3]: Entering directory `/home/gtk/gtk+-3.0.3/gtk'
Making all in .
make[4]: Entering directory `/home/gtk/gtk+-3.0.3/gtk'
  CC gtk9slice.lo
arm-none-linux-gnueabi-gcc: %s: No such file or directory
arm-none-linux-gnueabi-gcc: %f": No such file or directory
cc1: error: unrecognized command line option "-funlink-tempfile"
cc1: error: unrecognized command line option "-fpreview"
cc1: error: unrecognized command line option "-fprint-settings"

make[4]: *** [gtk9slice.lo] 错误 1
make[4]: Leaving directory `/home/gtk/gtk+-3.0.3/gtk'
make[3]: *** [all-recursive] 错误 1
make[3]: Leaving directory `/home/gtk/gtk+-3.0.3/gtk'
make[2]: *** [all] 错误 2
make[2]: Leaving directory `/home/gtk/gtk+-3.0.3/gtk'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/home/gtk/gtk+-3.0.3'
make: *** [all] 错误 2

这是什么问题,很奇怪,,google了很久很久,没发类似的

出0入0汤圆

发表于 2012-7-26 09:44:41 | 显示全部楼层
没有试过交叉编译GTK+3
一直用的GTK+2.24.10,编译正常.

出0入4汤圆

发表于 2012-7-26 10:29:48 | 显示全部楼层
abnerle 发表于 2012-7-25 21:09
谢谢了
我现在编译GTK,但是出问题了,找不到解决办法
nstalling local zlib......

将Makefile中的“-funlink-tempfile”“-fpreview”“-fprint-settings”comment掉 试试。
ARM预处理器不能识别这些option。

出0入0汤圆

 楼主| 发表于 2012-7-26 16:54:57 | 显示全部楼层
sunliezhi 发表于 2012-7-26 10:29
将Makefile中的“-funlink-tempfile”“-fpreview”“-fprint-settings”comment掉 试试。
ARM预处理器不 ...

将Makefile中的“-funlink-tempfile”“-fpreview”“-fprint-settings”comment掉 试试。

我也是这么想的,,可是makefile里面没有这些选项,不知道从何而来的

出0入4汤圆

发表于 2012-7-26 17:19:24 | 显示全部楼层
abnerle 发表于 2012-7-26 16:54
将Makefile中的“-funlink-tempfile”“-fpreview”“-fprint-settings”comment掉 试试。

我也是这么想 ...

config.mk?
或者类似的文件找找看。

出0入0汤圆

 楼主| 发表于 2012-7-30 09:05:36 | 显示全部楼层
sunliezhi 发表于 2012-7-26 17:19
config.mk?
或者类似的文件找找看。

找到了,需要安装libevince就好了

出0入0汤圆

发表于 2014-8-29 14:45:50 | 显示全部楼层
abnerle 发表于 2012-7-25 21:09
谢谢了
我现在编译GTK,但是出问题了,找不到解决办法
nstalling local zlib......

受教了,原来ARM V7还需要指定。
我在看官方的教程,好像不需要。
http://www.x.org/wiki/CrossCompilingXorg/

移植过程很痛苦,报错了,按这里方法再从头来遍。

出0入0汤圆

发表于 2014-8-29 19:24:24 来自手机 | 显示全部楼层
看我的文章,在ARM下用debian系统,你的一切问题都解决了。

出0入0汤圆

 楼主| 发表于 2014-10-24 10:59:11 | 显示全部楼层
yulutong 发表于 2014-8-29 14:45
受教了,原来ARM V7还需要指定。
我在看官方的教程,好像不需要。
http://www.x.org/wiki/CrossCompiling ...

你按照,http://www.x.org/wiki/CrossCompiling 搞定了?

出0入0汤圆

发表于 2014-10-24 12:08:48 | 显示全部楼层
abnerle 发表于 2014-10-24 10:59
你按照,http://www.x.org/wiki/CrossCompiling 搞定了?

搞不定,系统起不来。我内核没有改,只交叉编译了下载来的根文件系统,ubuntu-core,debian,
。。。。
(1413301893)
UBIFS: mounted UBI device 0, volume 0, name "rootfs"
UBIFS: mounted read-only
UBIFS: file system size:   63479808 bytes (61992 KiB, 60 MiB, 492 LEBs)
UBIFS: journal size:       8773632 bytes (8568 KiB, 8 MiB, 68 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root:  0 bytes (0 KiB)
VFS: Mounted root (ubifs filesystem) readonly on device 0:13.
Freeing init memory: 284K
mmc0: new high speed SD card at address b368
mmcblk0: mmc0:b368 SMI   960 MiB
mmcblk0: p1
init: Unable to mount /dev filesystem: No such device
init: Unable to create device: /dev/ptmx
init: Unable to create device: /dev/null
init: Unable to create device: /dev/tty
init: Unable to create device: /dev/console
init: Unable to create device: /dev/kmsg
Kernel panic - not syncing: Attempted to kill init!
Backtrace:
[<c0017dbc>] (dump_backtrace+0x0/0x10c) from [<c0401018>] (dump_stack+0x18/0x1c)
r6:c701bc00 r5:c04ee420 r4:c0620288 r3:c05ddd4c
[<c0401000>] (dump_stack+0x0/0x1c) from [<c0401214>] (panic+0x64/0x194)
[<c04011b0>] (panic+0x0/0x194) from [<c0041448>] (do_exit+0x5b0/0x65c)
r3:c701bc00 r2:c701df60 r1:c701df60 r0:c04ee420
r7:000000f8
[<c0040e98>] (do_exit+0x0/0x65c) from [<c0041754>] (do_group_exit+0x44/0xa4)
r7:000000f8
[<c0041710>] (do_group_exit+0x0/0xa4) from [<c00417cc>] (__wake_up_parent+0x0/0x28)
r4:0006fd02 r3:00000001
[<c00417b4>] (sys_exit_group+0x0/0x18) from [<c0014740>] (ret_fast_syscall+0x0/0x30

出0入0汤圆

 楼主| 发表于 2014-10-24 13:03:04 | 显示全部楼层
yulutong 发表于 2014-10-24 12:08
搞不定,系统起不来。我内核没有改,只交叉编译了下载来的根文件系统,ubuntu-core,debian,
。。。。
(14 ...

我以为你按照那个说明,把XORG交叉编译成功了
这个问题的文件系统,挂载不正确,你找个正确的文件系统试试

出0入0汤圆

发表于 2018-9-25 21:48:33 来自手机 | 显示全部楼层
刚刚看了下,gtk的configure文件都34000多行,大脑都死机了。

出0入0汤圆

 楼主| 发表于 2019-3-7 16:12:55 | 显示全部楼层
hl1200 发表于 2018-9-25 21:48
刚刚看了下,gtk的configure文件都34000多行,大脑都死机了。

不要全部看的啊,需要改哪里看哪里
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-18 18:47

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表