Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何对GCC编译的DLL进行签名以将其发布到Microsoft应用商店?_C++_.net_Gcc_Dll_Uwp - Fatal编程技术网

C++ 如何对GCC编译的DLL进行签名以将其发布到Microsoft应用商店?

C++ 如何对GCC编译的DLL进行签名以将其发布到Microsoft应用商店?,c++,.net,gcc,dll,uwp,C++,.net,Gcc,Dll,Uwp,我有一个应用程序,绕过Windows的默认声音引擎,使用我们的自定义声音引擎和ASIO之类的声音驱动程序。引擎实现为使用GCC编译的.DLL文件。此外,还有我的引擎所需的其他.DLLs 当我想将我的应用程序作为UWP应用程序发布到商店时,认证工具包会给我一些错误,如下所示: Windows安全功能测试 File C : \Program Files\WindowsApps\MyAppLTD.MyApp_1.0.1.0_x64__8yvwa9s081fpy\MyAppaudioengine - w

我有一个应用程序,绕过Windows的默认声音引擎,使用我们的自定义声音引擎和ASIO之类的声音驱动程序。引擎实现为使用GCC编译的
.DLL
文件。此外,还有我的引擎所需的其他
.DLL
s

当我想将我的应用程序作为UWP应用程序发布到商店时,认证工具包会给我一些错误,如下所示:

Windows安全功能测试

File C : \Program Files\WindowsApps\MyAppLTD.MyApp_1.0.1.0_x64__8yvwa9s081fpy\MyAppaudioengine - win.dll has failed the DBCheck check.
File C : \Program Files\WindowsApps\MyAppLTD.MyApp_1.0.1.0_x64__8yvwa9s081fpy\libgcc_s_seh - 1.dll has failed the DBCheck check.
File C : \Program Files\WindowsApps\MyAppLTD.MyApp_1.0.1.0_x64__8yvwa9s081fpy\libstdc++ - 6.dll has failed the DBCheck check.
File C : \Program Files\WindowsApps\MyAppLTD.MyApp_1.0.1.0_x64__8yvwa9s081fpy\libwinpthread - 1.dll has failed the DBCheck check.
支持的API测试


API RtlAddFunctionTable in kernel32.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API MessageBoxW in user32.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API ___lc_codepage_func in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API ___mb_cur_max_func in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API __doserrno in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API __iob_func in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API __pioinfo in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _aligned_free in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _aligned_malloc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _amsg_exit in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _errno in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _exit in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _fdopen in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _filelengthi64 in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _fileno in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _fstat64 in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _initterm in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _lock in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _lseeki64 in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _read in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _snwprintf in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _strnicmp in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _unlock in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _write in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API abort in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API calloc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fclose in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fflush in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fgetpos in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fopen in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fputc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fputs in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fread in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API free in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fsetpos in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fwprintf in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fwrite in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API getc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API getenv in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API getwc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API isspace in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API iswctype in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API localeconv in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API malloc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API memchr in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API memcmp in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API memcpy in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API memmove in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API memset in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API putc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API putwc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API raise in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API realloc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API setlocale in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API setvbuf in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API signal in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API sprintf in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strchr in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strcmp in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strcoll in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strerror in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strftime in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strlen in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strncmp in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strtoul in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strxfrm in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API towlower in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API towupper in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API ungetc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API ungetwc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API vfprintf in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API wcscoll in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API wcscpy in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API wcsftime in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API wcslen in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API wcsxfrm in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API RtlAddFunctionTable in kernel32.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API __iob_func in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API _amsg_exit in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API _initterm in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API _lock in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API _unlock in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API abort in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API calloc in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API free in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API fwrite in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API malloc in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API memcpy in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API memset in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API realloc in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API signal in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API strlen in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API strncmp in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API vfprintf in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API CoInitialize in ole32.dll is not supported for this application type.portaudio_x64.dll calls this API.
API OpenFile in kernel32.dll is not supported for this application type.portaudio_x64.dll calls this API.
API CharLowerBuffA in user32.dll is not supported for this application type.portaudio_x64.dll calls this API.
API GetDesktopWindow in user32.dll is not supported for this application type.portaudio_x64.dll calls this API.
API RtlAddFunctionTable in kernel32.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API __C_specific_handler in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API __iob_func in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _amsg_exit in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _beginthreadex in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _endthreadex in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _errno in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _initterm in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _lock in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _setjmp in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _strdup in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _ultoa in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _unlock in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API abort in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API calloc in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API exit in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API fprintf in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API free in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API fwrite in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API longjmp in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API malloc in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API memmove in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API memset in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API printf in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API realloc in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API signal in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API strlen in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API strncmp in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API vfprintf in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API CoInitialize in ole32.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API RtlAddFunctionTable in kernel32.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API GetForegroundWindow in user32.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API MessageBoxW in user32.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API ___lc_codepage_func in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API ___mb_cur_max_func in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API __iob_func in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API __setusermatherr in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _aligned_free in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _aligned_malloc in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _amsg_exit in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _errno in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _exit in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _initterm in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _lock in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _snwprintf in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _unlock in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API abort in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API asin in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API calloc in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API div in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API exit in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API fclose in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API fopen in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API fprintf in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API fputc in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API free in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API freopen_s in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API fwprintf in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API fwrite in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API localeconv in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API log10 in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API malloc in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API memcpy in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API memmove in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API memset in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API printf in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API raise in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API realloc in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API signal in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API strerror in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API strlen in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API strncmp in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API tan in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API vfprintf in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API wcscpy in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API wcslen in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
我在谷歌上做了研究,发现我还需要在我的定制声音引擎
.DLL
文件上签名。但是有人说我不能在UWP应用程序中使用这些类型的DLL。即使我需要签名,我也没有
DLL
项目的
.sln
。 我试图用SignTool对我的DLL进行签名,但没有成功。我用Unity构建了我的应用程序,它只能在64位CPU上运行

我的问题是,;我真的可以签署一个GCC编译的DLL吗?如果我做不到,请建议我一些使用我的引擎通过WACK的选项

编辑
声音引擎在Unity windows单机版上运行得非常完美,但如果我使用UWP构建它,它根本就不工作。这个问题也与这个安全问题有关,我想签名DLL是非常简单的。这是一个加密签名,可以应用于任何DLL,甚至是仅限资源的DLL(甚至未编译)。GCC不是问题所在


但是,该签名无法解决您在
msvcrt.dll
中遇到的问题。后者不是GCC DLL,而是Microsoft DLL,Microsoft表示您不能在其UWP平台上使用该DLL。没有签名可以解决这个问题。

对DLL进行签名非常简单。这是一个加密签名,可以应用于任何DLL,甚至是仅限资源的DLL(甚至未编译)。GCC不是问题所在


但是,该签名无法解决您在
msvcrt.dll
中遇到的问题。后者不是GCC DLL,而是Microsoft DLL,Microsoft表示您不能在其UWP平台上使用该DLL。没有签名可以解决这个问题。

GCC甚至可以生成dll吗?我第一次听到它。一直认为GCC只生成像.a或.so这样的Linux库实际上,它可以,但有几个步骤可以让它工作。我们的引擎团队在这方面做了非常艰苦的工作。此外,该引擎可以独立工作,但在UWPmingw-w64 v8中无法工作。GCC甚至可以生成dll吗?我第一次听到它。一直认为GCC只生成像.a或.so这样的Linux库实际上,它可以,但有几个步骤可以让它工作。我们的引擎团队在这方面做了非常艰苦的工作。另外,引擎可以独立工作,但不能在UWPmingw-w64 v8中工作。所以我不能在UWP应用程序上使用我的引擎作为DLL,对吗?如果是这样的话,还有其他方法可以让它工作吗?@tpbafk:显而易见的方法是用visualstudio编译它。它有更现代的运行时DLL,在UWP上受支持。所以我不能在UWP应用程序上使用我的引擎作为DLL,对吗?如果是这样的话,还有其他方法可以让它工作吗?@tpbafk:显而易见的方法是用visualstudio编译它。它有更现代的运行时DLL,UWP支持这些DLL。