------- Comment #3 from jojelino at gmail dot com 2010-01-26 22:02 ------- Created an attachment (id=19719) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19719&action=view) given __attribute__ ((visibility ("default")))
and test result (given __attribute__ ((dllexport)) ) $ gcc test.cpp -shared -o test.dll -Wl,--out-implib,test.dll.a -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-cygwin/4.5.0/lto-wrapper.exe Target: i686-pc-cygwin Configured with: ./configure --prefix=/usr --disable-win32-registry --enable-thr eads=posix --enable-languages=c,c++ --with-win32-nlsapi=unicode --enable-tls --d isable-bootstrap --enable-shared --disable-sjlj-exceptions Thread model: posix gcc version 4.5.0 20100126 (experimental) (GCC) COLLECT_GCC_OPTIONS='-shared' '-o' 'test.dll' '-v' '-mtune=generic' /usr/libexec/gcc/i686-pc-cygwin/4.5.0/cc1plus.exe -quiet -v -D__CYGWIN32__ -D__ CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter /usr/lib/gcc/i686-pc-cygwin/4.5.0 /../../../../include/w32api -idirafter /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../. ./../i686-pc-cygwin/lib/../../include/w32api test.cpp -quiet -dumpbase test.cpp -mtune=generic -auxbase test -version -o /cygdrive/d/Temp/cache/ccyU7ymf.s GNU C++ (GCC) version 4.5.0 20100126 (experimental) (i686-pc-cygwin) compiled by GNU C version 4.5.0 20100120 (experimental), GMP version 4.3 .1, MPFR version 2.4.1-p5, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring duplicate directory "/usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../i686 -pc-cygwin/lib/../../include/w32api" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../include/c++/4.5.0 /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../include/c++/4.5.0/i686-pc-cygwin /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../include/c++/4.5.0/backward /usr/local/include /usr/lib/gcc/i686-pc-cygwin/4.5.0/include /usr/lib/gcc/i686-pc-cygwin/4.5.0/include-fixed /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../i686-pc-cygwin/include /usr/include /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../include/w32api End of search list. GNU C++ (GCC) version 4.5.0 20100126 (experimental) (i686-pc-cygwin) compiled by GNU C version 4.5.0 20100120 (experimental), GMP version 4.3 .1, MPFR version 2.4.1-p5, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: fb963511c7be306a48675197d8d9d6d7 COLLECT_GCC_OPTIONS='-shared' '-o' 'test.dll' '-v' '-mtune=generic' /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../i686-pc-cygwin/bin/as -o /cygdriv e/d/Temp/cache/ccbLebdC.o /cygdrive/d/Temp/cache/ccyU7ymf.s COMPILER_PATH=/usr/libexec/gcc/i686-pc-cygwin/4.5.0/:/usr/libexec/gcc/i686-pc-cy gwin/4.5.0/:/usr/libexec/gcc/i686-pc-cygwin/:/usr/lib/gcc/i686-pc-cygwin/4.5.0/: /usr/lib/gcc/i686-pc-cygwin/:/usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../i686- pc-cygwin/bin/ LIBRARY_PATH=/usr/lib/gcc/i686-pc-cygwin/4.5.0/:/usr/lib/gcc/i686-pc-cygwin/4.5. 0/../../../../i686-pc-cygwin/lib/:/usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../:/l ib/:/usr/lib/ COLLECT_GCC_OPTIONS='-shared' '-o' 'test.dll' '-v' '-mtune=generic' /usr/libexec/gcc/i686-pc-cygwin/4.5.0/collect2.exe --wrap _Znwj --wrap _Znaj -- wrap _ZdlPv --wrap _ZdaPv --wrap _ZnwjRKSt9nothrow_t --wrap _ZnajRKSt9nothrow_t --wrap _ZdlPvRKSt9nothrow_t --wrap _ZdaPvRKSt9nothrow_t --shared -Bdynamic --ena ble-auto-image-base -e __cygwin_dll_en...@12 --dll-search-prefix=cyg -tsaware -o test.dll /usr/lib/gcc/i686-pc-cygwin/4.5.0/crtbegin.o -L/usr/lib/gcc/i686-pc-cy gwin/4.5.0 -L/usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../i686-pc-cygwin/lib -L /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../.. /cygdrive/d/Temp/cache/ccbLebdC.o --o ut-implib test.dll.a -lgcc_s -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshe ll32 -lgcc_s -lgcc /usr/lib/gcc/i686-pc-cygwin/4.5.0/crtend.o Creating library file: test.dll.a and for test2.dll $ gcc test2.cpp -shared -o test2.dll -Wl,--out-implib,test2.dll.a -v -L. -ltest Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-cygwin/4.5.0/lto-wrapper.exe Target: i686-pc-cygwin Configured with: ./configure --prefix=/usr --disable-win32-registry --enable-thr eads=posix --enable-languages=c,c++ --with-win32-nlsapi=unicode --enable-tls --d isable-bootstrap --enable-shared --disable-sjlj-exceptions Thread model: posix gcc version 4.5.0 20100126 (experimental) (GCC) COLLECT_GCC_OPTIONS='-shared' '-o' 'test2.dll' '-v' '-L.' '-mtune=generic' /usr/libexec/gcc/i686-pc-cygwin/4.5.0/cc1plus.exe -quiet -v -D__CYGWIN32__ -D__ CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter /usr/lib/gcc/i686-pc-cygwin/4.5.0 /../../../../include/w32api -idirafter /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../. ./../i686-pc-cygwin/lib/../../include/w32api test2.cpp -quiet -dumpbase test2.cp p -mtune=generic -auxbase test2 -version -o /cygdrive/d/Temp/cache/ccjQ1IbV.s GNU C++ (GCC) version 4.5.0 20100126 (experimental) (i686-pc-cygwin) compiled by GNU C version 4.5.0 20100120 (experimental), GMP version 4.3 .1, MPFR version 2.4.1-p5, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring duplicate directory "/usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../i686 -pc-cygwin/lib/../../include/w32api" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../include/c++/4.5.0 /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../include/c++/4.5.0/i686-pc-cygwin /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../include/c++/4.5.0/backward /usr/local/include /usr/lib/gcc/i686-pc-cygwin/4.5.0/include /usr/lib/gcc/i686-pc-cygwin/4.5.0/include-fixed /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../i686-pc-cygwin/include /usr/include /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../include/w32api End of search list. GNU C++ (GCC) version 4.5.0 20100126 (experimental) (i686-pc-cygwin) compiled by GNU C version 4.5.0 20100120 (experimental), GMP version 4.3 .1, MPFR version 2.4.1-p5, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: fb963511c7be306a48675197d8d9d6d7 COLLECT_GCC_OPTIONS='-shared' '-o' 'test2.dll' '-v' '-L.' '-mtune=generic' /usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../i686-pc-cygwin/bin/as -o /cygdriv e/d/Temp/cache/ccWB27cP.o /cygdrive/d/Temp/cache/ccjQ1IbV.s COMPILER_PATH=/usr/libexec/gcc/i686-pc-cygwin/4.5.0/:/usr/libexec/gcc/i686-pc-cy gwin/4.5.0/:/usr/libexec/gcc/i686-pc-cygwin/:/usr/lib/gcc/i686-pc-cygwin/4.5.0/: /usr/lib/gcc/i686-pc-cygwin/:/usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../i686- pc-cygwin/bin/ LIBRARY_PATH=/usr/lib/gcc/i686-pc-cygwin/4.5.0/:/usr/lib/gcc/i686-pc-cygwin/4.5. 0/../../../../i686-pc-cygwin/lib/:/usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../:/l ib/:/usr/lib/ COLLECT_GCC_OPTIONS='-shared' '-o' 'test2.dll' '-v' '-L.' '-mtune=generic' /usr/libexec/gcc/i686-pc-cygwin/4.5.0/collect2.exe --wrap _Znwj --wrap _Znaj -- wrap _ZdlPv --wrap _ZdaPv --wrap _ZnwjRKSt9nothrow_t --wrap _ZnajRKSt9nothrow_t --wrap _ZdlPvRKSt9nothrow_t --wrap _ZdaPvRKSt9nothrow_t --shared -Bdynamic --ena ble-auto-image-base -e __cygwin_dll_en...@12 --dll-search-prefix=cyg -tsaware -o test2.dll /usr/lib/gcc/i686-pc-cygwin/4.5.0/crtbegin.o -L. -L/usr/lib/gcc/i686- pc-cygwin/4.5.0 -L/usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../i686-pc-cygwin/l ib -L/usr/lib/gcc/i686-pc-cygwin/4.5.0/../../.. /cygdrive/d/Temp/cache/ccWB27cP. o --out-implib test2.dll.a -ltest -lgcc_s -lgcc -lcygwin -luser32 -lkernel32 -la dvapi32 -lshell32 -lgcc_s -lgcc /usr/lib/gcc/i686-pc-cygwin/4.5.0/crtend.o Creating library file: test2.dll.a /cygdrive/d/Temp/cache/ccWB27cP.o:test2.cpp:(.text+0x1e): undefined reference to `__imp___ZN2SaD1Ev' /cygdrive/d/Temp/cache/ccWB27cP.o:test2.cpp:(.text+0x64): undefined reference to `__imp___ZN2SaD1Ev' collect2: ld returned 1 exit status -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42870