you are right, just found this out. I have to compile with -lshell32 -lkernel32 
-lshlwapi -lstdc++
however... it still does not link with 32-bit versions of either the posix or 
win32 sjlj compiler.

it gives me that 
build-bug1.o:build-bug1.cpp:(.text.startup+0x1b0): undefined reference to 
`_imp__SHValidateUNC@12'
collect2.exe: error: ld returned 1 exit status

perhaps the DLL Imports or the .def file (whatever) were not correctly coded 
for that library?






On Wednesday, November 27, 2013 10:45 PM, niXman <[email protected]> wrote:
 
Jim Michaels писал 2013-11-28 08:48:
>
>>  d:\i686-4.8.2-release-win32-sjlj-rt_v3-rev0\mingw32\bin\g++.exe      
>> -Wall -Wextra -v -save-temps -Xlinker -Map=32\df.32.map -Ofast 
>> -std=c++11   -s   -isystem /libpq/ -isystem /libpq/server/libpq/
>> -isystem /prj/fltk/fltk-2.0.x-alpha-r9042/ -isystem
>> /prj/fltk/fltk-2.0.x-alpha-r9042/lib/ -isystem /prj/zlib-1.2.5/
>> -isystem /prj/boost/boost32 -o 32\df.exe  df.cpp prsinum.cpp
>> atoi64.cpp strfuncs.cpp
>>                                   32\df.manifest.res -lshlwapi
>> -lkernel32  -lstdc++    2>32\errgw32df
>> 
>> is my command line. I am suspecting there is something wrong with my
>> commandline.
>> 
>> 
>> this commandline works for 64-bit:
>>  d:\x86_64-4.8.2-release-win32-sjlj-rt_v3-rev0\mingw64\bin\g++.exe     
>> -Wall -Wextra -v -save-temps -Xlinker -Map=64\df.64.map -Ofast 
>> -std=c++11   -s   -isystem /libpq/ -isystem /libpq/server/libpq/
>> -isystem /prj/fltk/fltk-2.0.x-alpha-r9042/ -isystem
>> /prj/fltk/fltk-2.0.x-alpha-r9042/lib/ -isystem /prj/zlib-1.2.5/
>> -isystem /prj/boost/boost64  -o 64\df.exe  df.cpp prsinum.cpp
>> atoi64.cpp strfuncs.cpp
>>                                     64\df.manifest.res -lshlwapi
>> -lkernel32  -lstdc++    2>64\errgw64df
>> 
>> but they are exactly the same with the exception of the g++ path and
>> the destination of the exe!
>> 
>> I am suspecting there is a problem with the mingw-builds
>> i686-4.8.2-release-win32-sjlj-rt_v3-rev0. it won't link its own
>> shlwapi library. here is the only error message.
>> 
>>  
>> d:/i686-4.8.2-release-win32-sjlj-rt_v3-rev0/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.8.2/collect2.exe
>> --sysroot=C:/Temp/msys64/tmp/i686-482-win32-sjlj-rt_v3-r0/mingw32 -m
>> i386pe -Bdynamic -o 32\df.exe -s
>> d:/i686-4.8.2-release-win32-sjlj-rt_v3-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/lib/../lib/crt2.o
>> d:/i686-4.8.2-release-win32-sjlj-rt_v3-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/crtbegin.o
>> -Ld:/i686-4.8.2-release-win32-sjlj-rt_v3-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2
>> -Ld:/i686-4.8.2-release-win32-sjlj-rt_v3-rev0/mingw32/bin/../lib/gcc
>> -Ld:/i686-4.8.2-release-win32-sjlj-rt_v3-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/lib/../lib
>> -Ld:/i686-4.8.2-release-win32-sjlj-rt_v3-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../lib
>> 
>> -Ld:/i686-4.8.2-release-win32-sjlj-rt_v3-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/lib
>> -Ld:/i686-4.8.2-release-win32-sjlj-rt_v3-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../..
>> -Map=32\df.32.map df.o prsinum.o atoi64.o strfuncs.o
>> 32\df.manifest.res -lshlwapi -lkernel32 -lstdc++ -lstdc++ -lmingw32
>> -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32
>> -luser32 -lkernel32 -liconv -lmingw32 -lgcc_s -lgcc -lmoldname
>> -lmingwex -lmsvcrt
>> d:/i686-4.8.2-release-win32-sjlj-rt_v3-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/crtfastmath.o
>> d:/i686-4.8.2-release-win32-sjlj-rt_v3-rev0/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/crtend.o
>> df.o:df.cpp:(.text+0x2a01): undefined reference to 
>> `_imp__SHValidateUNC@12'
>> collect2.exe: error: ld returned 1 exit status
>> 
>> what do I do?
>> 
>> I need something that will compile my program for both 32 and 64-bit 
>> targets.
>> 
>> am going to try the posix-threads version in the meantime if avaiable 
>> in both...
>
>Hmm... Symbol SHValidateUNC is not exists in lib32/shell32.def, but 
>exists in lib64/shell32.def.
>These two files are very different. The list of exported symbols really 
>so different for win32 and win64?
>
>
>-- 
>Regards, niXman
>___________________________________________________
>Dual-target(32 & 64-bit) MinGW-W64 compilers for 32 and 64-bit Windows:
>http://sourceforge.net/projects/mingw-w64/
>___________________________________________________
>Another online IDE: http://liveworkspace.org/
>
>------------------------------------------------------------------------------
>Rapidly troubleshoot problems before they affect your business. Most IT 
>organizations don't have a clear picture of how application performance 
>affects their revenue. With AppDynamics, you get 100% visibility into your 
>Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
>http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
>_______________________________________________
>Mingw-w64-public mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
>
>
>
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to