Whats APIs are supported?

I am trying to create a package to upload to the Microsoft Store, but I have a problem with the APIs not being supported, I have looked at things like switching to a Master configuration in visual studio and using windows sdk 10.0.14393.0. There are some that currently have already solved some, but others I still can’t find how to solve.

The supported APIs test detected the following errors:

  • API __C_specific_handler in kernel32.dll is not supported for this application type. UnityPlayer.dll calls this API.
  • API DXGIGetDebugInterface1 in dxgi.dll is not supported for this application type. UnityPlayer.dll calls this API.
  • API GetFileVersionInfoSizeA in version.dll is not supported for this application type. UnityPlayer.dll calls this API.
  • API ??0Dictionary@aruco@cv@@QAE@ABVMat@2@HH@Z in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.
  • API ?create@DetectorParameters@aruco@cv@@SA?AU?$Ptr@UDetectorParameters@aruco@cv@@@3@XZ in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.
  • API ?detectMarkers@aruco@cv@@YAXABV_InputArray@2@ABU?$Ptr@VDictionary@aruco@cv@@@2@ABV_OutputArray@2@2ABU?$Ptr@UDetectorParameters@aruco@cv@@@2@200@Z in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.
  • API ?drawDetectedMarkers@aruco@cv@@YAXABV_InputOutputArray@2@ABV_InputArray@2@1V?$Scalar_@N@2@@Z in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.
  • API ?drawMarker@aruco@cv@@YAXABU?$Ptr@VDictionary@aruco@cv@@@2@HHABV_OutputArray@2@H@Z in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.
  • API ?estimatePoseSingleMarkers@aruco@cv@@YAXABV_InputArray@2@M00ABV_OutputArray@2@11@Z in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.
  • API ?getPredefinedDictionary@aruco@cv@@YA?AU?$Ptr@VDictionary@aruco@cv@@@2@W4PREDEFINED_DICTIONARY_NAME@12@@Z in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.

There seems to be two issues here. These errors should go away when you build “Master” configuration in Visual Studio:

API __C_specific_handler in kernel32.dll is not supported for this application type. UnityPlayer.dll calls this API.
API DXGIGetDebugInterface1 in dxgi.dll is not supported for this application type. UnityPlayer.dll calls this API.
API GetFileVersionInfoSizeA in version.dll is not supported for this application type. UnityPlayer.dll calls this API.

However, these errors are due to a native plugin (OpenCvUWP.dll) in your project:

API ??0Dictionary@aruco@cv@@QAE@ABVMat@2@HH@Z in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.
API ?create@DetectorParameters@aruco@cv@@SA?AU?$Ptr@UDetectorParameters@aruco@cv@@@3@XZ in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.
API ?detectMarkers@aruco@cv@@YAXABV_InputArray@2@ABU?$Ptr@VDictionary@aruco@cv@@@2@ABV_OutputArray@2@2ABU?$Ptr@UDetectorParameters@aruco@cv@@@2@200@Z in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.
API ?drawDetectedMarkers@aruco@cv@@YAXABV_InputOutputArray@2@ABV_InputArray@2@1V?$Scalar_@N@2@@Z in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.
API ?drawMarker@aruco@cv@@YAXABU?$Ptr@VDictionary@aruco@cv@@@2@HHABV_OutputArray@2@H@Z in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.
API ?estimatePoseSingleMarkers@aruco@cv@@YAXABV_InputArray@2@M00ABV_OutputArray@2@11@Z in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.
API ?getPredefinedDictionary@aruco@cv@@YA?AU?$Ptr@VDictionary@aruco@cv@@@2@W4PREDEFINED_DICTIONARY_NAME@12@@Z in opencv_aruco331.dll is not supported for this application type. OpenCvUWP.dll calls this API.

There could be three reasons for it (and 3 ways to solve it):

  1. You aren’t actually using this DLL and it should not have been included in the build. If that’s the case, you can simply delete it;
  2. This DLL depends on “opencv_aruco331.dll” and that DLL is either nowhere to be found or doesn’t get included in the build. If that’s the case, make sure it’s in your project and configured correctly in the plugin inspector;
  3. This DLL depends on certain functions in “opencv_aruco331.dll” which do not exist. If that’s the case, then most likely reason is version mismatch between the DLLs. To fix, you need to either recompile both DLLs, or, if you downloaded binaries from somewhere, make sure they’re from the same source.
1 Like

Thank you very much for answering, the first 3 errors I corrected by building with the Master configuration as you mentioned, the last ones I really don’t use, so I’m going to try to eliminate them, and I’ll comment if it worked. Since with my computer and the size of the project, it takes about an hour to build and doesn’t feel like doing it constantly. :smile:

Sorry for the delay, the APIS I think it’s already solved, although something else happens, the certificate hasn’t passed yet (since 2 days) and I see crashes with the app from the dashboard. It is one of the problems that I had at the beginning, at the moment of passing the unity splash screen, the app crashes and only in UWP when it is exported, I thought that it had been solved when I added a shader in graphics for the UI and UI Font, what caused this. Do you know another reason could cause this behavior?