我正在关注GTKMM4的GTKMM教程,当我尝试运行程序时,我会遇到奇怪的错误。该程序是提供的代码的确切副本,它成功编译了:
但是,当我运行程序时,它会给我一系列错误:
我不确定此时该怎么办。我尝试过谷歌搜索,但我没有任何帮助。我已经检查了所讨论的DLL是否存在。任何建议将不胜感激!
编辑:我运行了依赖关系沃克程序,并遇到了一些错误,但不确定这意味着什么。
edit2:我对依赖性沃克进行了一些研究,似乎有一些已知问题,所以我还运行 lucasg的“依赖关系”程序,并带有此输出。我仍然不确定这意味着什么,但是看起来还不错。
edit3:我将4个有问题的DLL文件移至构建目录中,这些是我遇到的新错误。它的错误相同,但现在指向更本地文件。
I'm following the gtkmm tutorial for gtkmm4 and I'm getting an odd error when I try to run my program. The program is an exact copy of the provided code, and it compiles successfully:
However, when I run the program it gives me a series of errors:
I'm not sure what to do at this point. I've tried googling, but I don't get anything helpful. I've check that the DLL in question does exist. Any advice is appreciated!
Edit: I ran the Dependency Walker program, and got some errors, not sure what this means though.
Edit2: I did some research on Dependency Walker, and it seems to have some known issues, so I also ran lucasg's "Dependencys" program, with this output. I'm still not really sure what this means, but it seems fine.
Edit3: I moved the 4 offending dll files into the build directory, and these are the new errors I'm getting. Its the same error, but now it points to the more local file.
发布评论
评论(2)
使用 .dll 文件。
一个可能的原因是您要混合32位和64位。
Check your
.exe
file with Dependency Walker to see which issues there are loading the.dll
files.One possible cause could be that you're mixing 32-bit and 64-bit.
问题与找到正确的DLL有关。解决方案,如概述在这里 ,是将全部复制到C:\ msys64 \ mingw64 \ bin中的DLL中。然后,使用ntldd或其他一些探测器,确定哪些DLL不必要并删除它们。
The issue was something to do with finding the correct DLLs. The solution, as outlined here, is to copy all the DLLs from C:\msys64\mingw64\bin into the build directory. Then, using ntldd or some other profiler, determine which DLLs are unnecessary and remove them.