windows store certification kit - c++ library validation issues -
i'm trying port c++ library universal windows windows store app. using x86 developer command prompt in visual studio 2015 v14.0.24720.00 update 1 on windows 10.
wondering i'm doing wrong - compiles , links fine following flags:
cl /nologo /fobuild\obj\windows\release\[obj_file].obj /c /md /ox /w4 /ehsc /frbuild\obj\windows\release\ -ddefine_little_endian -ddefine_trace -d_crt_secure_no_warnings -ddefine_windows_universal /ai "c:\program files (x86)\microsoft visual studio 14.0\vc\lib\store\references" /wx /zw /d "winapi_family=2" -ibuild\include [source].cpp
and:
link /nologo /opt:ref /map ws2_32.lib /appcontainer /dll /out:build\obj\windows\release\mydll.dll [obj_file.obj]*
getting whole bunch of unusual looking wack validation errors things surely should standard functions such malloc , std::bad_alloc etc. , furthermore, lot of these not supported apis seem exist in whitelist files though declared not supported. not sure i'm doing wrong compiles fine /zw /ehsc /d "winapi_family=2" switches documented here https://msdn.microsoft.com/en-us/library/hh700130.aspx
the documentation on page states explicity use of crt functions not allowed in windows 8.x store app cause compile-time error when use /zw flag. compiles fine, on arm toolchain.
also puzzled why of refs in vcruntime140 , in api-ms-win-crt-*.dll.
can shed light on these issues please?
full list of errors below.
cheers
iain
◦api _time64 in api-ms-win-crt-time-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api _cexit in api-ms-win-crt-runtime-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api _crt_atexit in api-ms-win-crt-runtime-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api _execute_onexit_table in api-ms-win-crt-runtime-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api _initialize_narrow_environment in api-ms-win-crt-runtime-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api _initialize_onexit_table in api-ms-win-crt-runtime-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api _initterm in api-ms-win-crt-runtime-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api _initterm_e in api-ms-win-crt-runtime-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api _invalid_parameter_noinfo_noreturn in api-ms-win-crt-runtime-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api _register_onexit_function in api-ms-win-crt-runtime-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api _seh_filter_dll in api-ms-win-crt-runtime-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api abort in api-ms-win-crt-runtime-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api terminate in api-ms-win-crt-runtime-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api _strdup in api-ms-win-crt-string-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api strncat in api-ms-win-crt-string-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api strncmp in api-ms-win-crt-string-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api strncpy in api-ms-win-crt-string-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api __acrt_iob_func in api-ms-win-crt-stdio-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api __stdio_common_vfprintf in api-ms-win-crt-stdio-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api __stdio_common_vsnprintf_s in api-ms-win-crt-stdio-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api __stdio_common_vsprintf in api-ms-win-crt-stdio-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api fflush in api-ms-win-crt-stdio-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api _callnewh in api-ms-win-crt-heap-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api calloc in api-ms-win-crt-heap-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api free in api-ms-win-crt-heap-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api malloc in api-ms-win-crt-heap-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api rand in api-ms-win-crt-utility-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api srand in api-ms-win-crt-utility-l1-1-0.dll not supported application type. mydll.dll calls api. ◦api ?initializedata@details@platform@@yajh@z in vccorlib140.dll not supported application type. mydll.dll calls api. ◦api ?uninitializedata@details@platform@@yaxh@z in vccorlib140.dll not supported application type. mydll.dll calls api. ◦api _cxxthrowexception in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api __cxxframehandler3 in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api __std_exception_copy in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api __std_exception_destroy in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api __std_terminate in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api __std_type_info_destroy_list in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api __telemetry_main_invoke_trigger in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api __telemetry_main_return_trigger in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api __vcrt_initializecriticalsectionex in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api _except_handler4_common in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api _purecall in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api memcpy in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api memmove in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api memset in vcruntime140.dll not supported application type. mydll.dll calls api. ◦api ?_xbad_alloc@std@@yaxxz in msvcp140.dll not supported application type. mydll.dll calls api. ◦api ?_xlength_error@std@@yaxpbd@z in msvcp140.dll not supported application type. mydll.dll calls api. ◦api ?_xout_of_range@std@@yaxpbd@z in msvcp140.dll not supported application type. mydll.dll calls api. ◦api createeventa in kernel32.dll not supported application type. mydll.dll calls api. ◦api createeventw in kernel32.dll not supported application type. mydll.dll calls api. ◦api createsemaphorea in kernel32.dll not supported application type. mydll.dll calls api. ◦api getmodulehandlew in kernel32.dll not supported application type. mydll.dll calls api. ◦api initializecriticalsection in kernel32.dll not supported application type. mydll.dll calls api. ◦api setunhandledexceptionfilter in kernel32.dll not supported application type. mydll.dll calls api. ◦api terminateprocess in kernel32.dll not supported application type. mydll.dll calls api. ◦api tlsalloc in kernel32.dll not supported application type. mydll.dll calls api. ◦api tlsfree in kernel32.dll not supported application type. mydll.dll calls api. ◦api tlsgetvalue in kernel32.dll not supported application type. mydll.dll calls api. ◦api tlssetvalue in kernel32.dll not supported application type. mydll.dll calls api. ◦api unhandledexceptionfilter in kernel32.dll not supported application type. mydll.dll calls api. ◦api waitforsingleobject in kernel32.dll not supported application type. mydll.dll calls api.
the answer needed build against vs2013 toolchain windows 8.1 library, not vs2015. don't forget check dependency on universal c++ runtime in app dependencies or fail load dll.
use vcvars.bat in c:\program files (x86)\microsoft visual studio 12.0\vc
compiler:
cl /nologo /fobuild\obj\windows\release\myobj.obj -c /md /ox /c /w4 /ehsc /frbuild\obj\windows\release\ -ddefine_little_endian -ddefine_trace -ddefine_windows_universal -d_crt_secure_no_warnings /d "_windll" /d "_unicode" /d "unicode" /fu"c:\program files (x86)\microsoft sdks\windows\v8.1\extensionsdks\microsoft.vclibs\12.0\references\commonconfiguration\neutral\platform.winmd" /fu"c:\program files (x86)\windows kits\8.1\references\commonconfiguration\neutral\windows.winmd" /fu"c:\program files (x86)\windows kits\8.1\references\commonconfiguration\neutral\windows.winmd" /wx /zw /zw:nostdlib /d "winapi_family=winapi_family_app" /d "wrl_no_default_lib" /gy /zc:inline /zc:wchar_t /tp -ibuild\include mysrc.cpp
linker:
link /nologo /opt:ref /map ws2_32.lib kernel32.lib /appcontainer /dynamicbase /nxcompat /machine:x86 /subsystem:windows /libpath:"c:\program files (x86)\microsoft visual studio 12.0\vc\lib\store" /dll /out:build\obj\windows\release\mydll.dll [build\obj\windows\release*.obj]
see also:
https://blogs.msdn.microsoft.com/vcblog/2012/09/28/c-runtime-for-windows-8-store-apps/
cheers iain
Comments
Post a Comment