<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-text-flowed" style="font-family: -moz-fixed;
font-size: 14px;" lang="x-western">Hi guys, just trying to do a
simple dll build using clang. The same code compiles using mingw
gcc with a simple invocation like: g++ -shared -o test.dll
test.cpp
<br>
<br>
Here are my arguments and the verbose output. I'm getting some
undefined symbol errors.
<br>
<br>
-------------------------------------------------------------------------------------------
<br>
C:\Program Files (x86)\LLVM\mingwbuild\bin>clang++ -std=c++11
-shared -v -o test.dll test.cpp -I "C:\MinGW\include\sys" -I
"C:\MinGW\lib\gcc\i686-pc-mingw32\4.8.0\include" -I
"C:\MinGW\include" -I "C:\MinGW\include\c++" -I
"C:\MinGW\include\c++\4.8.0" -I
"C:\MinGW\include\c++\4.8.0\backward" -I
"C:\MinGW\include\c++\4.8.0\bits" -I
"C:\MinGW\include\c++\4.8.0\debug" -I
"C:\MinGW\include\c++\4.8.0\decimal" -I
"C:\MinGW\include\c++\4.8.0\ext" -I
"C:\MinGW\include\c++\4.8.0\i686-pc-mingw32" -I
"C:\MinGW\include\c++\4.8.0\tr1" -I
"C:\MinGW\include\c++\4.8.0\tr2" -I
"C:\MinGW\include\c++\4.8.0\profile" -Wl,--verbose
<br>
clang version 3.3 (trunk)
<br>
Target: i686-pc-mingw32
<br>
Thread model: posix
<br>
"C:/Program Files (x86)/LLVM/mingwbuild/bin/clang++.exe" -cc1
-triple i686-pc-mingw32 -S -disable-free -main-file-name test.cpp
-mrelocation-model static -mdisable-fp-elim -fmath-errno
-mconstructor-aliases -target-cpu pentium4 -v -resource-dir
"C:/Program Files (x86)/LLVM/mingwbuild/bin\\..\\lib\\clang\\3.3"
-I "C:\\MinGW\\include\\sys" -I
"C:\\MinGW\\lib\\gcc\\i686-pc-mingw32\\4.8.0\\include" -I
"C:\\MinGW\\include" -I "C:\\MinGW\\include\\c++" -I
"C:\\MinGW\\include\\c++\\4.8.0" -I
"C:\\MinGW\\include\\c++\\4.8.0\\backward" -I
"C:\\MinGW\\include\\c++\\4.8.0\\bits" -I
"C:\\MinGW\\include\\c++\\4.8.0\\debug" -I
"C:\\MinGW\\include\\c++\\4.8.0\\decimal" -I
"C:\\MinGW\\include\\c++\\4.8.0\\ext" -I
"C:\\MinGW\\include\\c++\\4.8.0\\i686-pc-mingw32" -I
"C:\\MinGW\\include\\c++\\4.8.0\\tr1" -I
"C:\\MinGW\\include\\c++\\4.8.0\\tr2" -I
"C:\\MinGW\\include\\c++\\4.8.0\\profile" -std=c++11
-fdeprecated-macro -fno-dwarf-directory-asm -ferror-limit 19
-fmessage-length 150 -mstackrealign -fno-use-cxa-atexit
-fobjc-runtime=gcc -fobjc-default-synthesize-properties
-fcxx-exceptions -fexceptions -fdiagnostics-show-option
-fcolor-diagnostics -backend-option -vectorize-loops -o
C:/Users/Kim/AppData/Local/Temp/test-694880.s -x c++ test.cpp
<br>
clang -cc1 version 3.3 based upon LLVM 3.3svn default target
i686-pc-mingw32
<br>
#include "..." search starts here:
<br>
#include <...> search starts here:
<br>
C:\MinGW\include\sys
<br>
C:\MinGW\lib\gcc\i686-pc-mingw32\4.8.0\include
<br>
C:\MinGW\include
<br>
C:\MinGW\include\c++
<br>
C:\MinGW\include\c++\4.8.0
<br>
C:\MinGW\include\c++\4.8.0\backward
<br>
C:\MinGW\include\c++\4.8.0\bits
<br>
C:\MinGW\include\c++\4.8.0\debug
<br>
C:\MinGW\include\c++\4.8.0\decimal
<br>
C:\MinGW\include\c++\4.8.0\ext
<br>
C:\MinGW\include\c++\4.8.0\i686-pc-mingw32
<br>
C:\MinGW\include\c++\4.8.0\tr1
<br>
C:\MinGW\include\c++\4.8.0\tr2
<br>
C:\MinGW\include\c++\4.8.0\profile
<br>
C:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>Program
Files (x86)/LLVM/mingwbuild/bin<span class="moz-txt-tag">/</span></i>../lib/clang/3.3/include
<br>
C:/Program Files (x86)<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>LLVM/mingwbuild/bin<span
class="moz-txt-tag">/</span></i>../lib/clang/3.3/../../../include
<br>
/mingw/include
<br>
c:/mingw/include
<br>
End of search list.
<br>
"C:/MinGW/bin/g++.exe" -std=c++11 -shared -v -I
"C:\\MinGW\\include\\sys" -I
"C:\\MinGW\\lib\\gcc\\i686-pc-mingw32\\4.8.0\\include" -I
"C:\\MinGW\\include" -I "C:\\MinGW\\include\\c++" -I
"C:\\MinGW\\include\\c++\\4.8.0" -I
"C:\\MinGW\\include\\c++\\4.8.0\\backward" -I
"C:\\MinGW\\include\\c++\\4.8.0\\bits" -I
"C:\\MinGW\\include\\c++\\4.8.0\\debug" -I
"C:\\MinGW\\include\\c++\\4.8.0\\decimal" -I
"C:\\MinGW\\include\\c++\\4.8.0\\ext" -I
"C:\\MinGW\\include\\c++\\4.8.0\\i686-pc-mingw32" -I
"C:\\MinGW\\include\\c++\\4.8.0\\tr1" -I
"C:\\MinGW\\include\\c++\\4.8.0\\tr2" -I
"C:\\MinGW\\include\\c++\\4.8.0\\profile" -c -m32 -o
C:/Users/Kim/AppData/Local/Temp/test-694881.o -x assembler
C:/Users/Kim/AppData/Local/Temp/test-694880.s
<br>
Using built-in specs.
<br>
COLLECT_GCC=C:/MinGW/bin/g++.exe
<br>
Target: i686-pc-mingw32
<br>
Configured with: ../src/configure --prefix=/c/temp/gcc/dest
--with-gmp=/c/temp/gcc/gmp --with-mpfr=/c/temp/gcc/mpfr
--with-mpc=/c/temp/gcc/mpc --enable-languages=c,c++
--with-arch=i686 --with-tune=generic --disable-libstdcxx-pch
--disable-nls --disable-shared --disable-sjlj-exceptions
--disable-win32-registry --enable-checking=release --enable-lto
<br>
Thread model: win32
<br>
gcc version 4.8.0 (GCC)
<br>
COLLECT_GCC_OPTIONS='-std=c++11' '-shared' '-v' '-I'
'C:\MinGW\include\sys' '-I'
'C:\MinGW\lib\gcc\i686-pc-mingw32\4.8.0\include' '-I'
'C:\MinGW\include' '-I' 'C:\MinGW\include\c++' '-I'
'C:\MinGW\include\c++\4.8.0' '-I'
'C:\MinGW\include\c++\4.8.0\backward' '-I'
'C:\MinGW\include\c++\4.8.0\bits' '-I'
'C:\MinGW\include\c++\4.8.0\debug' '-I'
'C:\MinGW\include\c++\4.8.0\decimal' '-I'
'C:\MinGW\include\c++\4.8.0\ext' '-I'
'C:\MinGW\include\c++\4.8.0\i686-pc-mingw32' '-I'
'C:\MinGW\include\c++\4.8.0\tr1' '-I'
'C:\MinGW\include\c++\4.8.0\tr2' '-I'
'C:\MinGW\include\c++\4.8.0\profile' '-c' '-m32' '-o'
'C:/Users/Kim/AppData/Local/Temp/test-694881.o' '-mtune=generic'
'-march=i686'
<br>
as -v -I C:\MinGW\include\sys -I
C:\MinGW\lib\gcc\i686-pc-mingw32\4.8.0\include -I C:\MinGW\include
-I C:\MinGW\include\c++ -I C:\MinGW\include\c++\4.8.0 -I
C:\MinGW\include\c++\4.8.0\backward -I
C:\MinGW\include\c++\4.8.0\bits -I
C:\MinGW\include\c++\4.8.0\debug -I
C:\MinGW\include\c++\4.8.0\decimal -I
C:\MinGW\include\c++\4.8.0\ext -I
C:\MinGW\include\c++\4.8.0\i686-pc-mingw32 -I
C:\MinGW\include\c++\4.8.0\tr1 -I C:\MinGW\include\c++\4.8.0\tr2
-I C:\MinGW\include\c++\4.8.0\profile -o
C:/Users/Kim/AppData/Local/Temp/test-694881.o
C:/Users/Kim/AppData/Local/Temp/test-694880.s
<br>
GNU assembler version 2.23.2 (i686-pc-mingw32) using BFD version
(GNU Binutils) 2.23.2
<br>
COMPILER_PATH=c:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>..<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>libexec/gcc/i686-pc-mingw32/4.8.0/;c:<i
class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../libexec/gcc<span
class="moz-txt-tag">/</span></i>
<br>
LIBRARY_PATH=c:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>..<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>lib/gcc/i686-pc-mingw32/4.8.0/;c:<i
class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>..<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>lib/gcc<span class="moz-txt-tag">/</span></i>;c:<i
class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../;/mingw/lib<span
class="moz-txt-tag">/</span></i>
<br>
COLLECT_GCC_OPTIONS='-std=c++11' '-shared' '-v' '-I'
'C:\MinGW\include\sys' '-I'
'C:\MinGW\lib\gcc\i686-pc-mingw32\4.8.0\include' '-I'
'C:\MinGW\include' '-I' 'C:\MinGW\include\c++' '-I'
'C:\MinGW\include\c++\4.8.0' '-I'
'C:\MinGW\include\c++\4.8.0\backward' '-I'
'C:\MinGW\include\c++\4.8.0\bits' '-I'
'C:\MinGW\include\c++\4.8.0\debug' '-I'
'C:\MinGW\include\c++\4.8.0\decimal' '-I'
'C:\MinGW\include\c++\4.8.0\ext' '-I'
'C:\MinGW\include\c++\4.8.0\i686-pc-mingw32' '-I'
'C:\MinGW\include\c++\4.8.0\tr1' '-I'
'C:\MinGW\include\c++\4.8.0\tr2' '-I'
'C:\MinGW\include\c++\4.8.0\profile' '-c' '-m32' '-o'
'C:/Users/Kim/AppData/Local/Temp/test-694881.o' '-mtune=generic'
'-march=i686'
<br>
"C:/MinGW/bin/g++.exe" -std=c++11 -shared -v -I
"C:\\MinGW\\include\\sys" -I
"C:\\MinGW\\lib\\gcc\\i686-pc-mingw32\\4.8.0\\include" -I
"C:\\MinGW\\include" -I "C:\\MinGW\\include\\c++" -I
"C:\\MinGW\\include\\c++\\4.8.0" -I
"C:\\MinGW\\include\\c++\\4.8.0\\backward" -I
"C:\\MinGW\\include\\c++\\4.8.0\\bits" -I
"C:\\MinGW\\include\\c++\\4.8.0\\debug" -I
"C:\\MinGW\\include\\c++\\4.8.0\\decimal" -I
"C:\\MinGW\\include\\c++\\4.8.0\\ext" -I
"C:\\MinGW\\include\\c++\\4.8.0\\i686-pc-mingw32" -I
"C:\\MinGW\\include\\c++\\4.8.0\\tr1" -I
"C:\\MinGW\\include\\c++\\4.8.0\\tr2" -I
"C:\\MinGW\\include\\c++\\4.8.0\\profile" -m32 -o test.o
C:/Users/Kim/AppData/Local/Temp/test-694881.o -Wl,--verbose
<br>
Using built-in specs.
<br>
COLLECT_GCC=C:/MinGW/bin/g++.exe
<br>
COLLECT_LTO_WRAPPER=c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../libexec/gcc/i686-pc-mingw32/4.8.0/lto-wrapper.exe
<br>
Target: i686-pc-mingw32
<br>
Configured with: ../src/configure --prefix=/c/temp/gcc/dest
--with-gmp=/c/temp/gcc/gmp --with-mpfr=/c/temp/gcc/mpfr
--with-mpc=/c/temp/gcc/mpc --enable-languages=c,c++
--with-arch=i686 --with-tune=generic --disable-libstdcxx-pch
--disable-nls --disable-shared --disable-sjlj-exceptions
--disable-win32-registry --enable-checking=release --enable-lto
<br>
Thread model: win32
<br>
gcc version 4.8.0 (GCC)
<br>
COMPILER_PATH=c:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>..<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>libexec/gcc/i686-pc-mingw32/4.8.0/;c:<i
class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../libexec/gcc<span
class="moz-txt-tag">/</span></i>
<br>
LIBRARY_PATH=c:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>..<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>lib/gcc/i686-pc-mingw32/4.8.0/;c:<i
class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>..<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>lib/gcc<span class="moz-txt-tag">/</span></i>;c:<i
class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../;/mingw/lib<span
class="moz-txt-tag">/</span></i>
<br>
COLLECT_GCC_OPTIONS='-std=c++11' '-shared' '-v' '-I'
'C:\MinGW\include\sys' '-I'
'C:\MinGW\lib\gcc\i686-pc-mingw32\4.8.0\include' '-I'
'C:\MinGW\include' '-I' 'C:\MinGW\include\c++' '-I'
'C:\MinGW\include\c++\4.8.0' '-I'
'C:\MinGW\include\c++\4.8.0\backward' '-I'
'C:\MinGW\include\c++\4.8.0\bits' '-I'
'C:\MinGW\include\c++\4.8.0\debug' '-I'
'C:\MinGW\include\c++\4.8.0\decimal' '-I'
'C:\MinGW\include\c++\4.8.0\ext' '-I'
'C:\MinGW\include\c++\4.8.0\i686-pc-mingw32' '-I'
'C:\MinGW\include\c++\4.8.0\tr1' '-I'
'C:\MinGW\include\c++\4.8.0\tr2' '-I'
'C:\MinGW\include\c++\4.8.0\profile' '-m32' '-o' 'test.o'
'-mtune=generic' '-march=i686'
<br>
c:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../libexec/gcc/i686-pc-mingw32/4.8.0/collect2.exe
--shared -Bdynamic -e _DllMainCRTStartup@12
--enable-auto-image-base -o test.o c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../dllcrt2.o
c:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/crtbegin.o
-Lc:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0
-Lc:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../lib/gcc -Lc:<i
class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../..
-L/mingw/lib C:/Users/Kim/AppData/Local/Temp/test-694881.o
--verbose -lstdc++ -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt
-ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc
-lmoldname -lmingwex -lmsvcrt c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/crtend.o
<br>
GNU ld (GNU Binutils) 2.23.2
<br>
Supported emulations:
<br>
i386pe
<br>
using internal linker script:
<br>
==================================================
<br>
/* Default linker script, for normal executables */
<br>
OUTPUT_FORMAT(pei-i386)
<br>
SEARCH_DIR("/c/temp/gcc/dest/i686-pc-mingw32/lib");
SEARCH_DIR("/c/temp/gcc/dest/lib"); SEARCH_DIR("/usr/local/lib");
SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
<br>
SECTIONS
<br>
{
<br>
/* Make the virtual address and file offset synced if the
alignment is
<br>
lower than the target page size. */
<br>
. = SIZEOF_HEADERS;
<br>
. = ALIGN(__section_alignment__);
<br>
.text __image_base__ + ( __section_alignment__ < 0x1000 ? .
: __section_alignment__ ) :
<br>
{
<br>
*(.init)
<br>
*(.text)
<br>
*(SORT(.text$*))
<br>
*(.text.*)
<br>
*(.gnu.linkonce.t.*)
<br>
*(.glue_7t)
<br>
*(.glue_7)
<br>
___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
<br>
LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*));
LONG (0);
<br>
___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
<br>
LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*));
LONG (0);
<br>
*(.fini)
<br>
/* ??? Why is .gcc_exc here? */
<br>
*(.gcc_exc)
<br>
PROVIDE (etext = .);
<br>
*(.gcc_except_table)
<br>
}
<br>
/* The Cygwin32 library uses a section to avoid copying certain
data
<br>
on fork. This used to be named ".data". The linker used
<br>
to include this between __data_start__ and __data_end__, but
that
<br>
breaks building the cygwin32 dll. Instead, we name the
section
<br>
".data_cygwin_nocopy" and explicitly include it after
__data_end__. */
<br>
.data BLOCK(__section_alignment__) :
<br>
{
<br>
__data_start__ = . ;
<br>
*(.data)
<br>
*(.data2)
<br>
*(SORT(.data$*))
<br>
*(.jcr)
<br>
__data_end__ = . ;
<br>
*(.data_cygwin_nocopy)
<br>
}
<br>
.rdata BLOCK(__section_alignment__) :
<br>
{
<br>
*(.rdata)
<br>
*(SORT(.rdata$*))
<br>
__rt_psrelocs_start = .;
<br>
*(.rdata_runtime_pseudo_reloc)
<br>
__rt_psrelocs_end = .;
<br>
}
<br>
__rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start;
<br>
___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
<br>
__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
<br>
___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
<br>
__RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
<br>
.eh_frame BLOCK(__section_alignment__) :
<br>
{
<br>
*(.eh_frame*)
<br>
}
<br>
.pdata BLOCK(__section_alignment__) :
<br>
{
<br>
*(.pdata)
<br>
}
<br>
.bss BLOCK(__section_alignment__) :
<br>
{
<br>
__bss_start__ = . ;
<br>
*(.bss)
<br>
*(COMMON)
<br>
__bss_end__ = . ;
<br>
}
<br>
.edata BLOCK(__section_alignment__) :
<br>
{
<br>
*(.edata)
<br>
}
<br>
<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>DISCARD<span
class="moz-txt-tag">/</span></i> :
<br>
{
<br>
*(.debug$S)
<br>
*(.debug$T)
<br>
*(.debug$F)
<br>
*(.drectve)
<br>
*(.note.GNU-stack)
<br>
*(.gnu.lto_*)
<br>
}
<br>
.idata BLOCK(__section_alignment__) :
<br>
{
<br>
/* This cannot currently be handled with grouped sections.
<br>
See pe.em:sort_sections. */
<br>
SORT(*)(.idata$2)
<br>
SORT(*)(.idata$3)
<br>
/* These zeroes mark the end of the import list. */
<br>
LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
<br>
SORT(*)(.idata$4)
<br>
__IAT_start__ = .;
<br>
SORT(*)(.idata$5)
<br>
__IAT_end__ = .;
<br>
SORT(*)(.idata$6)
<br>
SORT(*)(.idata$7)
<br>
}
<br>
.CRT BLOCK(__section_alignment__) :
<br>
{
<br>
___crt_xc_start__ = . ;
<br>
*(SORT(.CRT$XC*)) /* C initialization */
<br>
___crt_xc_end__ = . ;
<br>
___crt_xi_start__ = . ;
<br>
*(SORT(.CRT$XI*)) /* C++ initialization */
<br>
___crt_xi_end__ = . ;
<br>
___crt_xl_start__ = . ;
<br>
*(SORT(.CRT$XL*)) /* TLS callbacks */
<br>
/* ___crt_xl_end__ is defined in the TLS Directory support
code */
<br>
___crt_xp_start__ = . ;
<br>
*(SORT(.CRT$XP*)) /* Pre-termination */
<br>
___crt_xp_end__ = . ;
<br>
___crt_xt_start__ = . ;
<br>
*(SORT(.CRT$XT*)) /* Termination */
<br>
___crt_xt_end__ = . ;
<br>
}
<br>
.tls BLOCK(__section_alignment__) :
<br>
{
<br>
___tls_start__ = . ;
<br>
*(.tls)
<br>
*(.tls$)
<br>
*(SORT(.tls$*))
<br>
___tls_end__ = . ;
<br>
}
<br>
.endjunk BLOCK(__section_alignment__) :
<br>
{
<br>
/* end is deprecated, don't use it */
<br>
PROVIDE (end = .);
<br>
PROVIDE ( _end = .);
<br>
__end__ = .;
<br>
}
<br>
.rsrc BLOCK(__section_alignment__) :
<br>
{
<br>
*(.rsrc)
<br>
*(SORT(.rsrc$*))
<br>
}
<br>
.reloc BLOCK(__section_alignment__) :
<br>
{
<br>
*(.reloc)
<br>
}
<br>
.stab BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.stab)
<br>
}
<br>
.stabstr BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.stabstr)
<br>
}
<br>
/* DWARF debug sections.
<br>
Symbols in the DWARF debugging sections are relative to the
beginning
<br>
of the section. Unlike other targets that fake this by
putting the
<br>
section VMA at 0, the PE format will not allow it. */
<br>
/* DWARF 1.1 and DWARF 2. */
<br>
.debug_aranges BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_aranges)
<br>
}
<br>
.debug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_pubnames)
<br>
}
<br>
.debug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_pubtypes)
<br>
}
<br>
/* DWARF 2. */
<br>
.debug_info BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_info .gnu.linkonce.wi.*)
<br>
}
<br>
.debug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_abbrev)
<br>
}
<br>
.debug_line BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_line)
<br>
}
<br>
.debug_frame BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_frame*)
<br>
}
<br>
.debug_str BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_str)
<br>
}
<br>
.debug_loc BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_loc)
<br>
}
<br>
.debug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_macinfo)
<br>
}
<br>
/* SGI/MIPS DWARF 2 extensions. */
<br>
.debug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_weaknames)
<br>
}
<br>
.debug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_funcnames)
<br>
}
<br>
.debug_typenames BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_typenames)
<br>
}
<br>
.debug_varnames BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_varnames)
<br>
}
<br>
.debug_macro BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_macro)
<br>
}
<br>
/* DWARF 3. */
<br>
.debug_ranges BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_ranges)
<br>
}
<br>
/* DWARF 4. */
<br>
.debug_types BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_types .gnu.linkonce.wt.*)
<br>
}
<br>
}
<br>
<br>
<br>
==================================================
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../dllcrt2.o
succeeded
<br>
c:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../dllcrt2.o
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/crtbegin.o
succeeded
<br>
c:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/crtbegin.o
<br>
attempt to open C:/Users/Kim/AppData/Local/Temp/test-694881.o
succeeded
<br>
C:/Users/Kim/AppData/Local/Temp/test-694881.o
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libstdc++.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmingw32.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/libgcc.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmoldname.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmingwex.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmsvcrt.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libadvapi32.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libshell32.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libuser32.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libkernel32.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmingw32.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/libgcc.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmoldname.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmsvcrt.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/crtend.o
succeeded
<br>
c:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/crtend.o
<br>
Cannot export _CreateScript: symbol not found
<br>
Cannot export _GetName: symbol not found
<br>
Cannot export _GetType: symbol not found
<br>
GNU ld (GNU Binutils) 2.23.2
<br>
Supported emulations:
<br>
i386pe
<br>
using internal linker script:
<br>
==================================================
<br>
/* Default linker script, for normal executables */
<br>
OUTPUT_FORMAT(pei-i386)
<br>
SEARCH_DIR("/c/temp/gcc/dest/i686-pc-mingw32/lib");
SEARCH_DIR("/c/temp/gcc/dest/lib"); SEARCH_DIR("/usr/local/lib");
SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
<br>
SECTIONS
<br>
{
<br>
/* Make the virtual address and file offset synced if the
alignment is
<br>
lower than the target page size. */
<br>
. = SIZEOF_HEADERS;
<br>
. = ALIGN(__section_alignment__);
<br>
.text __image_base__ + ( __section_alignment__ < 0x1000 ? .
: __section_alignment__ ) :
<br>
{
<br>
*(.init)
<br>
*(.text)
<br>
*(SORT(.text$*))
<br>
*(.text.*)
<br>
*(.gnu.linkonce.t.*)
<br>
*(.glue_7t)
<br>
*(.glue_7)
<br>
___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
<br>
LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*));
LONG (0);
<br>
___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
<br>
LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*));
LONG (0);
<br>
*(.fini)
<br>
/* ??? Why is .gcc_exc here? */
<br>
*(.gcc_exc)
<br>
PROVIDE (etext = .);
<br>
*(.gcc_except_table)
<br>
}
<br>
/* The Cygwin32 library uses a section to avoid copying certain
data
<br>
on fork. This used to be named ".data". The linker used
<br>
to include this between __data_start__ and __data_end__, but
that
<br>
breaks building the cygwin32 dll. Instead, we name the
section
<br>
".data_cygwin_nocopy" and explicitly include it after
__data_end__. */
<br>
.data BLOCK(__section_alignment__) :
<br>
{
<br>
__data_start__ = . ;
<br>
*(.data)
<br>
*(.data2)
<br>
*(SORT(.data$*))
<br>
*(.jcr)
<br>
__data_end__ = . ;
<br>
*(.data_cygwin_nocopy)
<br>
}
<br>
.rdata BLOCK(__section_alignment__) :
<br>
{
<br>
*(.rdata)
<br>
*(SORT(.rdata$*))
<br>
__rt_psrelocs_start = .;
<br>
*(.rdata_runtime_pseudo_reloc)
<br>
__rt_psrelocs_end = .;
<br>
}
<br>
__rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start;
<br>
___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
<br>
__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
<br>
___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
<br>
__RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;
<br>
.eh_frame BLOCK(__section_alignment__) :
<br>
{
<br>
*(.eh_frame*)
<br>
}
<br>
.pdata BLOCK(__section_alignment__) :
<br>
{
<br>
*(.pdata)
<br>
}
<br>
.bss BLOCK(__section_alignment__) :
<br>
{
<br>
__bss_start__ = . ;
<br>
*(.bss)
<br>
*(COMMON)
<br>
__bss_end__ = . ;
<br>
}
<br>
.edata BLOCK(__section_alignment__) :
<br>
{
<br>
*(.edata)
<br>
}
<br>
<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>DISCARD<span
class="moz-txt-tag">/</span></i> :
<br>
{
<br>
*(.debug$S)
<br>
*(.debug$T)
<br>
*(.debug$F)
<br>
*(.drectve)
<br>
*(.note.GNU-stack)
<br>
*(.gnu.lto_*)
<br>
}
<br>
.idata BLOCK(__section_alignment__) :
<br>
{
<br>
/* This cannot currently be handled with grouped sections.
<br>
See pe.em:sort_sections. */
<br>
SORT(*)(.idata$2)
<br>
SORT(*)(.idata$3)
<br>
/* These zeroes mark the end of the import list. */
<br>
LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
<br>
SORT(*)(.idata$4)
<br>
__IAT_start__ = .;
<br>
SORT(*)(.idata$5)
<br>
__IAT_end__ = .;
<br>
SORT(*)(.idata$6)
<br>
SORT(*)(.idata$7)
<br>
}
<br>
.CRT BLOCK(__section_alignment__) :
<br>
{
<br>
___crt_xc_start__ = . ;
<br>
*(SORT(.CRT$XC*)) /* C initialization */
<br>
___crt_xc_end__ = . ;
<br>
___crt_xi_start__ = . ;
<br>
*(SORT(.CRT$XI*)) /* C++ initialization */
<br>
___crt_xi_end__ = . ;
<br>
___crt_xl_start__ = . ;
<br>
*(SORT(.CRT$XL*)) /* TLS callbacks */
<br>
/* ___crt_xl_end__ is defined in the TLS Directory support
code */
<br>
___crt_xp_start__ = . ;
<br>
*(SORT(.CRT$XP*)) /* Pre-termination */
<br>
___crt_xp_end__ = . ;
<br>
___crt_xt_start__ = . ;
<br>
*(SORT(.CRT$XT*)) /* Termination */
<br>
___crt_xt_end__ = . ;
<br>
}
<br>
.tls BLOCK(__section_alignment__) :
<br>
{
<br>
___tls_start__ = . ;
<br>
*(.tls)
<br>
*(.tls$)
<br>
*(SORT(.tls$*))
<br>
___tls_end__ = . ;
<br>
}
<br>
.endjunk BLOCK(__section_alignment__) :
<br>
{
<br>
/* end is deprecated, don't use it */
<br>
PROVIDE (end = .);
<br>
PROVIDE ( _end = .);
<br>
__end__ = .;
<br>
}
<br>
.rsrc BLOCK(__section_alignment__) :
<br>
{
<br>
*(.rsrc)
<br>
*(SORT(.rsrc$*))
<br>
}
<br>
.reloc BLOCK(__section_alignment__) :
<br>
{
<br>
*(.reloc)
<br>
}
<br>
.stab BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.stab)
<br>
}
<br>
.stabstr BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.stabstr)
<br>
}
<br>
/* DWARF debug sections.
<br>
Symbols in the DWARF debugging sections are relative to the
beginning
<br>
of the section. Unlike other targets that fake this by
putting the
<br>
section VMA at 0, the PE format will not allow it. */
<br>
/* DWARF 1.1 and DWARF 2. */
<br>
.debug_aranges BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_aranges)
<br>
}
<br>
.debug_pubnames BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_pubnames)
<br>
}
<br>
.debug_pubtypes BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_pubtypes)
<br>
}
<br>
/* DWARF 2. */
<br>
.debug_info BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_info .gnu.linkonce.wi.*)
<br>
}
<br>
.debug_abbrev BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_abbrev)
<br>
}
<br>
.debug_line BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_line)
<br>
}
<br>
.debug_frame BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_frame*)
<br>
}
<br>
.debug_str BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_str)
<br>
}
<br>
.debug_loc BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_loc)
<br>
}
<br>
.debug_macinfo BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_macinfo)
<br>
}
<br>
/* SGI/MIPS DWARF 2 extensions. */
<br>
.debug_weaknames BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_weaknames)
<br>
}
<br>
.debug_funcnames BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_funcnames)
<br>
}
<br>
.debug_typenames BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_typenames)
<br>
}
<br>
.debug_varnames BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_varnames)
<br>
}
<br>
.debug_macro BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_macro)
<br>
}
<br>
/* DWARF 3. */
<br>
.debug_ranges BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_ranges)
<br>
}
<br>
/* DWARF 4. */
<br>
.debug_types BLOCK(__section_alignment__) (NOLOAD) :
<br>
{
<br>
*(.debug_types .gnu.linkonce.wt.*)
<br>
}
<br>
}
<br>
<br>
<br>
==================================================
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../dllcrt2.o
succeeded
<br>
c:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../dllcrt2.o
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/crtbegin.o
succeeded
<br>
c:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/crtbegin.o
<br>
attempt to open C:/Users/Kim/AppData/Local/Temp/test-694881.o
succeeded
<br>
C:/Users/Kim/AppData/Local/Temp/test-694881.o
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libstdc++.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmingw32.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/libgcc.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmoldname.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmingwex.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmsvcrt.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libadvapi32.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libshell32.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libuser32.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libkernel32.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmingw32.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmoldname.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/../../../libmsvcrt.a
succeeded
<br>
attempt to open c:<i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>mingw/bin<span class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/crtend.o
succeeded
<br>
c:<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>mingw/bin<span
class="moz-txt-tag">/</span></i>../lib/gcc/i686-pc-mingw32/4.8.0/crtend.o
<br>
Cannot export _Create: symbol not found
<br>
collect2.exe: error: ld returned 1 exit status
<br>
clang++.exe: error: linker (via gcc) command failed with exit code
1 (use -v to see invocation)
<br>
<br>
C:\Program Files (x86)\LLVM\mingwbuild\bin>
<br>
-------------------------------------------------------------------------------------
<br>
<br>
<br>
The dll code is just a few simple export test function:
<br>
<br>
extern "C"
<br>
{
<br>
__declspec (dllexport) void Create()
<br>
{
<br>
return;
<br>
}
<br>
}
<br>
<br>
If I call llvm-nm.exe with a generated test.o file I get the
following so I'm not sure what the problem is.
<br>
<br>
00000050 T _Create
<br>
<br>
Can anyone tell me how to get this linking correctly please?
<br>
<br>
Thanks a lot.
<br>
</div>
</body>
</html>