ld的搜索目录通过gcc和已加载的库传递

时间:2015-09-28 14:18:10

标签: c++ gcc linker ld

我正在尝试使用gcc交叉编译一个简单的c程序。在我的例子中,它是一个小的gtk2应用程序:

#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
  gtk_init(&argc, &argv);
  return 0;
}

我想将它链接到gtk-x11-2.0,它包含gtk_init函数。当通过-L传递时,它显式路径到远程系统的roots,并通过

分析链接器的输出
gcc ... -Wl,-verbose ... ,

我可以看到该路径未列为

SEARCH_DIR("= ...")

并导致“对gtk_init的未定义引用...” 但在输出结束时,它显示库已在正确的路径上加载。 请参阅完整的链接描述文件列表:

16:01:37 **** Incremental Build of configuration Default for project 

SysrootTest ****
make all 
#arm-linux-gnueabihf-g++ -v -g -Wall  -mtune=cortex-a8 -march=armv7-a  --sysroot=/home/dominik/bbbroot -o simple -L/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf -Xlinker -rpath-link=/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf -I/home/dominik/bbbroot/usr/include/gtk-2.0 -I/home/dominik/bbbroot/usr/include/pango-1.0 -I/home/dominik/bbbroot/usr/include/atk-1.0 -I/home/dominik/bbbroot/usr/include/cairo -I/home/dominik/bbbroot/usr/include/gdk-pixbuf-2.0 -I/home/dominik/bbbroot/usr/include/glib-2.0 -I/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -lgtk-x11-2.0 simple.c
arm-linux-gnueabihf-g++ -v -g -Wall  -mtune=cortex-a8 -march=armv7-a  --sysroot=/home/dominik/bbbroot -o simple -L/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf -Xlinker -rpath-link=/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf -Wl,-verbose,-L/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf -I/home/dominik/bbbroot/usr/include/gtk-2.0 -I/home/dominik/bbbroot/usr/include/pango-1.0 -I/home/dominik/bbbroot/usr/include/atk-1.0 -I/home/dominik/bbbroot/usr/include/cairo -I/home/dominik/bbbroot/usr/include/gdk-pixbuf-2.0 -I/home/dominik/bbbroot/usr/include/glib-2.0 -I/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -lgtk-x11-2.0 simple.c
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabihf-g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.8.2-16ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/arm-linux-gnueabihf/include/c++/4.8.2 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-armhf-cross/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-armhf-cross --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-armhf-cross --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libgcj --enable-objc-gc --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=arm-linux-gnueabihf --program-prefix=arm-linux-gnueabihf- --includedir=/usr/arm-linux-gnueabihf/include
Thread model: posix
gcc version 4.8.2 (Ubuntu/Linaro 4.8.2-16ubuntu4) 
COLLECT_GCC_OPTIONS='-v' '-g' '-Wall' '-mtune=cortex-a8' '-march=armv7-a' '-o' 'simple' '-L/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf' '-I' '/home/dominik/bbbroot/usr/include/gtk-2.0' '-I' '/home/dominik/bbbroot/usr/include/pango-1.0' '-I' '/home/dominik/bbbroot/usr/include/atk-1.0' '-I' '/home/dominik/bbbroot/usr/include/cairo' '-I' '/home/dominik/bbbroot/usr/include/gdk-pixbuf-2.0' '-I' '/home/dominik/bbbroot/usr/include/glib-2.0' '-I' '/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/glib-2.0/include' '-I' '/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/gtk-2.0/include' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mthumb' '-mtls-dialect=gnu'
 /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/cc1plus -quiet -v -I /home/dominik/bbbroot/usr/include/gtk-2.0 -I /home/dominik/bbbroot/usr/include/pango-1.0 -I /home/dominik/bbbroot/usr/include/atk-1.0 -I /home/dominik/bbbroot/usr/include/cairo -I /home/dominik/bbbroot/usr/include/gdk-pixbuf-2.0 -I /home/dominik/bbbroot/usr/include/glib-2.0 -I /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -imultiarch arm-linux-gnueabihf -isysroot /home/dominik/bbbroot -D_GNU_SOURCE simple.c -quiet -dumpbase simple.c -mtune=cortex-a8 -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -mthumb -mtls-dialect=gnu -auxbase simple -g -Wall -version -fstack-protector -Wformat -Wformat-security -o /tmp/ccjGniT3.s
GNU C++ (Ubuntu/Linaro 4.8.2-16ubuntu4) version 4.8.2 (arm-linux-gnueabihf)
    compiled by GNU C version 4.8.2, GMP version 5.1.3, MPFR version 3.1.2-p3, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/home/dominik/bbbroot/usr/arm-linux-gnueabihf/include/c++/4.8.2"
ignoring nonexistent directory "/home/dominik/bbbroot/usr/arm-linux-gnueabihf/include/c++/4.8.2/arm-linux-gnueabihf"
ignoring nonexistent directory "/home/dominik/bbbroot/usr/arm-linux-gnueabihf/include/c++/4.8.2/backward"
ignoring nonexistent directory "/home/dominik/bbbroot/usr/local/include/arm-linux-gnueabihf"
#include "..." search starts here:
#include <...> search starts here:
 /home/dominik/bbbroot/usr/include/gtk-2.0
 /home/dominik/bbbroot/usr/include/pango-1.0
 /home/dominik/bbbroot/usr/include/atk-1.0
 /home/dominik/bbbroot/usr/include/cairo
 /home/dominik/bbbroot/usr/include/gdk-pixbuf-2.0
 /home/dominik/bbbroot/usr/include/glib-2.0
 /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/glib-2.0/include
 /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/gtk-2.0/include
 /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/include
 /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/include-fixed
 /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/include
 /home/dominik/bbbroot/usr/include/arm-linux-gnueabihf
 /home/dominik/bbbroot/usr/include
End of search list.
GNU C++ (Ubuntu/Linaro 4.8.2-16ubuntu4) version 4.8.2 (arm-linux-gnueabihf)
    compiled by GNU C version 4.8.2, GMP version 5.1.3, MPFR version 3.1.2-p3, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 5864e76821369f09a9f341580a4c0155
COLLECT_GCC_OPTIONS='-v' '-g' '-Wall' '-mtune=cortex-a8' '-march=armv7-a' '-o' 'simple' '-L/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf' '-I' '/home/dominik/bbbroot/usr/include/gtk-2.0' '-I' '/home/dominik/bbbroot/usr/include/pango-1.0' '-I' '/home/dominik/bbbroot/usr/include/atk-1.0' '-I' '/home/dominik/bbbroot/usr/include/cairo' '-I' '/home/dominik/bbbroot/usr/include/gdk-pixbuf-2.0' '-I' '/home/dominik/bbbroot/usr/include/glib-2.0' '-I' '/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/glib-2.0/include' '-I' '/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/gtk-2.0/include' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mthumb' '-mtls-dialect=gnu'
 /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/as -v -I /home/dominik/bbbroot/usr/include/gtk-2.0 -I /home/dominik/bbbroot/usr/include/pango-1.0 -I /home/dominik/bbbroot/usr/include/atk-1.0 -I /home/dominik/bbbroot/usr/include/cairo -I /home/dominik/bbbroot/usr/include/gdk-pixbuf-2.0 -I /home/dominik/bbbroot/usr/include/glib-2.0 -I /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/gtk-2.0/include -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -meabi=5 -o /tmp/cc4sA1i3.o /tmp/ccjGniT3.s
Die GNU-Assembler-Version 2.24 (arm-linux-gnueabihf) benutzt die BFD-Version (GNU Binutils for Ubuntu) 2.24
COMPILER_PATH=/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/:/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/:/usr/lib/gcc-cross/arm-linux-gnueabihf/:/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/:/usr/lib/gcc-cross/arm-linux-gnueabihf/:/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/
LIBRARY_PATH=/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/:/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib/:/home/dominik/bbbroot/lib/arm-linux-gnueabihf/:/home/dominik/bbbroot/lib/../lib/:/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/:/home/dominik/bbbroot/usr/lib/../lib/:/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/:/home/dominik/bbbroot/lib/:/home/dominik/bbbroot/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-g' '-Wall' '-mtune=cortex-a8' '-march=armv7-a' '-o' 'simple' '-L/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf' '-I' '/home/dominik/bbbroot/usr/include/gtk-2.0' '-I' '/home/dominik/bbbroot/usr/include/pango-1.0' '-I' '/home/dominik/bbbroot/usr/include/atk-1.0' '-I' '/home/dominik/bbbroot/usr/include/cairo' '-I' '/home/dominik/bbbroot/usr/include/gdk-pixbuf-2.0' '-I' '/home/dominik/bbbroot/usr/include/glib-2.0' '-I' '/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/glib-2.0/include' '-I' '/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/gtk-2.0/include' '-shared-libgcc' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mthumb' '-mtls-dialect=gnu'
 /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/collect2 --sysroot=/home/dominik/bbbroot --build-id --eh-frame-hdr -dynamic-linker /lib/ld-linux-armhf.so.3 -X --hash-style=gnu --as-needed -m armelf_linux_eabi -z relro -o simple /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib/crt1.o /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib/crti.o /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/crtbegin.o -L/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf -L/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8 -L/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib -L/home/dominik/bbbroot/lib/arm-linux-gnueabihf -L/home/dominik/bbbroot/lib/../lib -L/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf -L/home/dominik/bbbroot/usr/lib/../lib -L/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib -L/home/dominik/bbbroot/lib -L/home/dominik/bbbroot/usr/lib -rpath-link=/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf -verbose -L/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf -lgtk-x11-2.0 /tmp/cc4sA1i3.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/crtend.o /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib/crtn.o
GNU ld (GNU Binutils for Ubuntu) 2.24
  Unterstützte Emulationen:
   armelf_linux_eabi
   armelfb_linux_eabi
using internal linker script:
==================================================
/* Script for -z combreloc: combine and sort reloc sections */
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
          "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
/tmp/cc4sA1i3.o: In Funktion `main':
SEARCH_DIR("=/usr/local/lib/arm-linux-gnueabihf"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib/arm-linux-gnueabihf"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib/arm-linux-gnueabihf"); SEARCH_DIR("=/usr/lib"); SEARCH_DIR("/usr/arm-linux-gnueabihf/lib");
/home/dominik/workspaces/Mars/Beaglebone/SysrootTest//simple.c:23: Nicht definierter Verweis auf `gtk_init'
collect2: error: ld returned 1 exit status
SECTIONS
make: *** [main] Fehler 1
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x00008000)); . = SEGMENT_START("text-segment", 0x00008000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.dyn        :
    {
      *(.rel.init)
      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
      *(.rel.fini)
      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
      *(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*)
      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
      *(.rel.ctors)
      *(.rel.dtors)
      *(.rel.got)
      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
      PROVIDE_HIDDEN (__rel_iplt_start = .);
      *(.rel.iplt)
      PROVIDE_HIDDEN (__rel_iplt_end = .);
    }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .rel.plt        :
    {
      *(.rel.plt)
    }
  .rela.plt       :
    {
      *(.rela.plt)
    }
  .init           :
  {
    KEEP (*(SORT_NONE(.init)))
  }
  .plt            : { *(.plt) }
  .iplt           : { *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely .text.unlikely.*)
    *(.text.exit .text.exit.*)
    *(.text.startup .text.startup.*)
    *(.text.hot .text.hot.*)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
    *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)
  }
  .fini           :
  {
    KEEP (*(SORT_NONE(.fini)))
  }
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
   PROVIDE_HIDDEN (__exidx_start = .);
  .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
   PROVIDE_HIDDEN (__exidx_end = .);
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table
  .gcc_except_table.*) }
  /* These sections are generated by the Sun/Oracle C++ compiler.  */
  .exception_ranges   : ONLY_IF_RO { *(.exception_ranges
  .exception_ranges*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  .exception_ranges   : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) }
  /* Thread Local Storage sections  */
  .tdata      : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss       : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
    PROVIDE_HIDDEN (__init_array_start = .);
    KEEP (*(SORT(.init_array.*)))
    KEEP (*(.init_array ))
    PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(SORT(.fini_array.*)))
    KEEP (*(.fini_array ))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  . = DATA_SEGMENT_RELRO_END (0, .);
  .got            : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
  .data           :
  {
    PROVIDE (__data_start = .);
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  . = .;
  __bss_start = .;
  __bss_start__ = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 32 / 8 : 1);
  }
  _bss_end__ = . ; __bss_end__ = . ;
  . = ALIGN(32 / 8);
  . = SEGMENT_START("ldata-segment", .);
  . = ALIGN(32 / 8);
  __end__ = . ;
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line .debug_line.* .debug_line_end ) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  /* DWARF Extension.  */
  .debug_macro    0 : { *(.debug_macro) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}


==================================================
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib/crt1.o zu öffnen, war erfolgreich
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib/crt1.o
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib/crti.o zu öffnen, war erfolgreich
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib/crti.o
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/crtbegin.o zu öffnen, war erfolgreich
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/crtbegin.o
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgtk-x11-2.0.so zu öffnen, war erfolgreich
-lgtk-x11-2.0 (/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgtk-x11-2.0.so)
Der Versuch, /tmp/cc4sA1i3.o zu öffnen, war erfolgreich
/tmp/cc4sA1i3.o
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libstdc++.so zu öffnen, ist fehlgeschlagen
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libstdc++.a zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libstdc++.so zu öffnen, war erfolgreich
-lstdc++ (/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libstdc++.so)
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libm.so zu öffnen, war erfolgreich
-lm (/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libm.so)
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc_s.so zu öffnen, ist fehlgeschlagen
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc_s.a zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc_s.so zu öffnen, war erfolgreich
Skriptdatei /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc_s.so geöffnet
Skriptdatei /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc_s.so geöffnet
Der Versuch, libgcc_s.so.1 zu öffnen, ist fehlgeschlagen
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc_s.so.1 zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc_s.so.1 zu öffnen, war erfolgreich
libgcc_s.so.1 (/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc_s.so.1)
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc.so zu öffnen, ist fehlgeschlagen
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc.a zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc.so zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc.a zu öffnen, war erfolgreich
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc.so zu öffnen, ist fehlgeschlagen
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc.a zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc.so zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc.a zu öffnen, war erfolgreich
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libc.so zu öffnen, war erfolgreich
Skriptdatei /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libc.so geöffnet
Skriptdatei /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libc.so geöffnet
Der Versuch, /home/dominik/bbbroot/lib/arm-linux-gnueabihf/libc.so.6 zu öffnen, war erfolgreich
/lib/arm-linux-gnueabihf/libc.so.6 (/home/dominik/bbbroot/lib/arm-linux-gnueabihf/libc.so.6)
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libc_nonshared.a zu öffnen, war erfolgreich
(/home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libc_nonshared.a)elf-init.oS
Der Versuch, /home/dominik/bbbroot/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3 zu öffnen, war erfolgreich
/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3 (/home/dominik/bbbroot/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3)
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc_s.so zu öffnen, ist fehlgeschlagen
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc_s.a zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc_s.so zu öffnen, war erfolgreich
Skriptdatei /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc_s.so geöffnet
Skriptdatei /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc_s.so geöffnet
Der Versuch, libgcc_s.so.1 zu öffnen, ist fehlgeschlagen
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc_s.so.1 zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc_s.so.1 zu öffnen, war erfolgreich
libgcc_s.so.1 (/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc_s.so.1)
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc.so zu öffnen, ist fehlgeschlagen
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc.a zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc.so zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc.a zu öffnen, war erfolgreich
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc.so zu öffnen, ist fehlgeschlagen
Der Versuch, /home/dominik/bbbroot/usr/lib/arm-linux-gnueabihf/libgcc.a zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc.so zu öffnen, ist fehlgeschlagen
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/libgcc.a zu öffnen, war erfolgreich
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/crtend.o zu öffnen, war erfolgreich
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/crtend.o
Der Versuch, /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib/crtn.o zu öffnen, war erfolgreich
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib/crtn.o
ld-linux-armhf.so.3 needed by /home/dominik/bbbroot/lib/arm-linux-gnueabihf/libc.so.6
found ld-linux-armhf.so.3 at /home/dominik/bbbroot/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3

16:01:40 Build Finished (took 2s.415ms)

我做错了什么?

0 个答案:

没有答案