I did ld with --verbose, however there is still a problem that linux mingw (gcc 10.2) is badly packaged!

g++ -m64    -o dist/Debug/x86_64-w64-mingw32-Linux/liblibodbc.dll build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/callablestatement.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/connection.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/databasemetadata.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/datahandler.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/datastream.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/datetime.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/driverinfo.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/drivermanager.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/errorhandler.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/preparedstatement.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/resultset.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/resultsetmetadata.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/statement.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/threads.o --verbose -lodbc32 -Xlinker -Map -Xlinker /tmp/libodbc-mingw64.map -shared -fPIC
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/lto-wrapper
Target: x86_64-w64-mingw32
Configured with: /build/mingw-w64-gcc/src/gcc/configure --prefix=/usr --libexecdir=/usr/lib --target=x86_64-w64-mingw32 --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,lto,c++,ada,objc,obj-c++,fortran --enable-shared --enable-static --enable-threads=posix --enable-fully-dynamic-string --enable-libstdcxx-time=yes --enable-libstdcxx-filesystem-ts=yes --with-system-zlib --enable-cloog-backend=isl --enable-lto --enable-libgomp --disable-multilib --enable-checking=release --disable-sjlj-exceptions --with-dwarf2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.0 (GCC)
COMPILER_PATH=/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/:/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/:/usr/lib/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/:/usr/lib/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/
LIBRARY_PATH=/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/:/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/lib/../lib/:/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/lib/
COLLECT_GCC_OPTIONS='-m64' '-o' 'dist/Debug/x86_64-w64-mingw32-Linux/liblibodbc.dll' '-v' '-shared' '-fPIC' '-shared-libgcc' '-mtune=generic' '-march=x86-64'  /usr/lib/gcc/x86_64-w64-mingw32/10.2.0/collect2 -plugin /usr/lib/gcc/x86_64-w64-mingw32/10.2.0/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccXtJqk0.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -m i386pep --shared -Bdynamic -e DllMainCRTStartup --enable-auto-image-base -o dist/Debug/x86_64-w64-mingw32-Linux/liblibodbc.dll /usr/lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/lib/../lib/dllcrt2.o /usr/lib/gcc/x86_64-w64-mingw32/10.2.0/crtbegin.o -L/usr/lib/gcc/x86_64-w64-mingw32/10.2.0 -L/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/lib/../lib -L/usr/lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/lib build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/callablestatement.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/connection.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/databasemetadata.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/datahandler.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/datastream.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/datetime.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/driverinfo.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/drivermanager.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/errorhandler.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/preparedstatement.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/resultset.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/resultsetmetadata.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/statement.o build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/threads.o -lodbc32 -Map /tmp/libodbc-mingw64.map -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt /usr/lib/gcc/x86_64-w64-mingw32/10.2.0/crtend.o /usr/lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld: build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/datahandler.o: in function `odbc::stringToStream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': /asoft-src/ispp-64/linux/cross-compile/libodbc++-0.2.3/libodbc/../../../..//libodbc++-0.2.3/src/dtconv.h:162: undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()' /usr/lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld: build/Debug/x86_64-w64-mingw32-Linux/_ext/7fd6286d/datahandler.o: in function `odbc::bytesToStream(odbc::Bytes const&)': /asoft-src/ispp-64/linux/cross-compile/libodbc++-0.2.3/libodbc/../../../..//libodbc++-0.2.3/src/dtconv.h:233: undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
collect2: error: ld returned 1 exit status

On 16.11.20. 15:18, Liu Hao wrote:
在 2020/11/16 17:52, gmail Vladimir Koković 写道:
I can't believe it but it's true that I can't do clean/build for libodbc++ 
because my linux mingw
(gcc 10.2) is badly packaged!
I checked against http://winlibs.com/ gcc 10.2 and it is evident that in my 
linux mingw libstdc is
missing basic_stringstream()

What's worse, I don't know how to overcome this problem?



There doesn't seem to by anything wrong with the command line (other than the 
`-Xlinker -Map` which
I am unfamiliar with). According to this undefined reference, I presume a wrong 
libstdc++ was picked
by LD. You might want to add `-v` to the command line to find out what happened.



_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to