Closed et2010 closed 6 years ago
Any ideas?
In fact build on windows is not supported, because of I don't use windows.
But looks like in your libintl.h
header there is define like #define snprintf libintl_snprintf
,
by moving orders of includes in src/uilts.cpp
you can try fix this issue.
Or you can find place with #define snprintf libintl_snprintf
and removes it, if you use prebuild libintl
and glib
.
Thanks for the quick reply. I don't know much about c++, so I take the second approach you suggested and build successfully by removing those lines in libintl.h
#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef vsnprintf
#define vsnprintf libintl_vsnprintf
extern int vsnprintf (char *, size_t, const char *, va_list);
#endif
However, when I run sdcv.exe, it just throws segfault:
$ ./sdcv.exe
Segmentation fault
Edit:
I tried to put all the dlls in the same directory where sdcv.exe locates and now I can list the dictionary:
But it still crashes when searching, the error log says the fault module is msvcrt.dll:
Version=1
EventType=APPCRASH
EventTime=131740256528855129
ReportType=2
Consent=1
UploadTime=131740256529792655
ReportIdentifier=f69a2450-7503-11e8-bf02-00c2c6695720
IntegratorReportIdentifier=f69a244f-7503-11e8-bf02-00c2c6695720
NsAppName=sdcv.exe
Response.type=4
Sig[0].Name=应用程序名
Sig[0].Value=sdcv.exe
Sig[1].Name=应用程序版本
Sig[1].Value=0.0.0.0
Sig[2].Name=应用程序时间戳
Sig[2].Value=5b2b0f65
Sig[3].Name=故障模块名称
Sig[3].Value=msvcrt.dll
Sig[4].Name=故障模块版本
Sig[4].Value=7.0.9600.17415
Sig[5].Name=故障模块时间戳
Sig[5].Value=545055fe
Sig[6].Name=异常代码
Sig[6].Value=c0000005
Sig[7].Name=异常偏移
Sig[7].Value=00000000000011d0
DynamicSig[1].Name=OS 版本
DynamicSig[1].Value=6.3.9600.2.0.0.768.99
DynamicSig[2].Name=区域设置 ID
DynamicSig[2].Value=2052
DynamicSig[22].Name=其他信息 1
DynamicSig[22].Value=d729
DynamicSig[23].Name=其他信息 2
DynamicSig[23].Value=d7292b5fa83503405ae38fa5784bc25a
DynamicSig[24].Name=其他信息 3
DynamicSig[24].Value=cb4b
DynamicSig[25].Name=其他信息 4
DynamicSig[25].Value=cb4b3679ff3bd42c1d00259c555b2390
UI[2]=C:\Program Files (x86)\sdcv\bin\sdcv.exe
UI[3]=sdcv.exe 已停止工作
UI[4]=Windows 可以联机检查该问题的解决方案。
UI[5]=联机检查解决方案并关闭该程序
UI[6]=以后联机检查解决方案并关闭程序
UI[7]=关闭程序
LoadedModule[0]=C:\Program Files (x86)\sdcv\bin\sdcv.exe
LoadedModule[1]=C:\WINDOWS\SYSTEM32\ntdll.dll
LoadedModule[2]=C:\WINDOWS\system32\KERNEL32.DLL
LoadedModule[3]=C:\WINDOWS\system32\KERNELBASE.dll
LoadedModule[4]=C:\Program Files (x86)\sdcv\bin\libglib-2.0-0.dll
LoadedModule[5]=C:\Program Files (x86)\sdcv\bin\libintl-8.dll
LoadedModule[6]=C:\Program Files (x86)\sdcv\bin\libreadline7.dll
LoadedModule[7]=C:\Program Files (x86)\sdcv\bin\zlib1.dll
LoadedModule[8]=C:\WINDOWS\system32\msvcrt.dll
LoadedModule[9]=C:\WINDOWS\system32\USER32.dll
LoadedModule[10]=C:\Program Files (x86)\sdcv\bin\libgcc_s_seh-1.dll
LoadedModule[11]=C:\Program Files (x86)\sdcv\bin\libstdc++-6.dll
LoadedModule[12]=C:\WINDOWS\system32\ADVAPI32.dll
LoadedModule[13]=C:\WINDOWS\system32\ole32.dll
LoadedModule[14]=C:\Program Files (x86)\sdcv\bin\libwinpthread-1.dll
LoadedModule[15]=C:\WINDOWS\system32\SHELL32.dll
LoadedModule[16]=C:\WINDOWS\system32\WS2_32.dll
LoadedModule[17]=C:\msys64\mingw64\bin\libpcre-1.dll
LoadedModule[18]=C:\Program Files (x86)\sdcv\bin\libiconv-2.dll
LoadedModule[19]=C:\msys64\mingw64\bin\libtermcap-0.dll
LoadedModule[20]=C:\WINDOWS\system32\GDI32.dll
LoadedModule[21]=C:\WINDOWS\SYSTEM32\sechost.dll
LoadedModule[22]=C:\WINDOWS\system32\RPCRT4.dll
LoadedModule[23]=C:\WINDOWS\SYSTEM32\combase.dll
LoadedModule[24]=C:\WINDOWS\system32\SHLWAPI.dll
LoadedModule[25]=C:\WINDOWS\system32\NSI.dll
LoadedModule[26]=C:\WINDOWS\system32\SspiCli.dll
LoadedModule[27]=C:\WINDOWS\system32\IMM32.DLL
LoadedModule[28]=C:\WINDOWS\system32\MSCTF.dll
LoadedModule[29]=C:\WINDOWS\SYSTEM32\SHCORE.dll
LoadedModule[30]=C:\WINDOWS\SYSTEM32\kernel.appcore.dll
LoadedModule[31]=C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
LoadedModule[32]=C:\WINDOWS\SYSTEM32\bcryptPrimitives.dll
LoadedModule[33]=C:\WINDOWS\system32\uxtheme.dll
LoadedModule[34]=C:\Program Files\Listary\ListaryHook64.dll
LoadedModule[35]=C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.9600.17810_none_34ae2abd958aedeb\COMCTL32.dll
LoadedModule[36]=C:\WINDOWS\SYSTEM32\OLEACC.dll
LoadedModule[37]=C:\Program Files (x86)\Stardock\Start8\Start8_64.dll
LoadedModule[38]=C:\WINDOWS\system32\OLEAUT32.dll
LoadedModule[39]=C:\WINDOWS\system32\SETUPAPI.dll
LoadedModule[40]=C:\WINDOWS\system32\CFGMGR32.dll
LoadedModule[41]=C:\WINDOWS\SYSTEM32\clbcatq.dll
LoadedModule[42]=C:\WINDOWS\system32\propsys.dll
LoadedModule[43]=C:\WINDOWS\SYSTEM32\profapi.dll
FriendlyEventName=已停止工作
ConsentKey=APPCRASH
AppName=sdcv.exe
AppPath=C:\Program Files (x86)\sdcv\bin\sdcv.exe
NsPartner=windows
NsGroup=windows8
ApplicationIdentity=621A1A7734B90D085E9E28F4E9396BE3
I googled and found it may be due to the c++ runtime library on windows:
https://stackoverflow.com/questions/28783079/mingw-and-msvcrt-dll-confusion
https://stackoverflow.com/questions/27451875/going-on-with-no-msvcrt-dll
I built a msys2 binary (not mingw) and it works, thanks for the help!
Hi, I'd like to compile sdcv with mingw-64 on Windows but bumped into following errors:
Any ideas?