Corle Asked:2021-01-01 01:05:53 +0800 CST2021-01-01 01:05:53 +0800 CST 2021-01-01 01:05:53 +0800 CST 无法在您的 PC 上运行此应用程序(Windows 10)[关闭] 772 最近从 MinGW 转移到 MinGW-w64。我安装了所有东西,将所有路径放在 ide Code:: 块中。我做了一个 Hello World 测试程序,我编译了它——屏幕是空的。我转到项目二进制文件所在的文件夹。我启动并赢得了 10 期 - 无法在您的 PC 上运行此应用程序。怎样成为?已经打破了他的头。 c 1 个回答 Voted Best Answer zed 2020-01-01T17:32:05+08:002020-01-01T17:32:05+08:00 如果二进制文件出现,则编译成功,问题出在运行您的应用程序时。 启动应用程序的问题可能是由于二进制文件所在的文件夹或中缺少依赖库,PATH或者由于其他一堆原因。 要查看您的 . 库exe,您可以使用特殊的Dependency Walker实用程序或 TotalCommander 的 Lister 插件: 从截图中可以看出,程序编译时依赖了运行时的MinGW库libgcc_s_dw2-1.dll,而这个库的位置是未知的(实际上是在文件夹中\mingw-w64\mingw32\bin\)。 要解决这个问题,必须要么PATH在依赖库的路径中添加,要么放在旁边exe(以及它所依赖的所有库),要么在编译工程时指定静态链接(具体来说,对于static链接libgcc_s_dw2-1.dll,您需要向链接器添加一个标志:) -static-libgcc。 更新:从评论中可以看出,有人试图在 32 位系统上运行 64 位二进制文件。由此得出的结论是,您需要仔细查看您正在为哪个平台构建应用程序。从完成的二进制文件中,您还可以找出它的位深度(32/64 位)。有关这方面的信息在PE 标头中,并且有用于查看这些标头的程序(例如,PE Explorer 或用于 TC 的相同 Lister 插件):
如果二进制文件出现,则编译成功,问题出在运行您的应用程序时。
启动应用程序的问题可能是由于二进制文件所在的文件夹或中缺少依赖库,
PATH
或者由于其他一堆原因。要查看您的 . 库
exe
,您可以使用特殊的Dependency Walker实用程序或 TotalCommander 的 Lister 插件:从截图中可以看出,程序编译时依赖了运行时的MinGW库
libgcc_s_dw2-1.dll
,而这个库的位置是未知的(实际上是在文件夹中\mingw-w64\mingw32\bin\
)。要解决这个问题,必须要么
PATH
在依赖库的路径中添加,要么放在旁边exe
(以及它所依赖的所有库),要么在编译工程时指定静态链接(具体来说,对于static链接libgcc_s_dw2-1.dll
,您需要向链接器添加一个标志:)-static-libgcc
。更新:从评论中可以看出,有人试图在 32 位系统上运行 64 位二进制文件。由此得出的结论是,您需要仔细查看您正在为哪个平台构建应用程序。从完成的二进制文件中,您还可以找出它的位深度(32/64 位)。有关这方面的信息在PE 标头中,并且有用于查看这些标头的程序(例如,PE Explorer 或用于 TC 的相同 Lister 插件):