我完成了我在c中实现GUI的应用程序 - 它是一个计算optionprices(call和put)的金融计算器
编译并运行应用程序没问题。
我的平台: Windows XP - X86 32位处理器。
也许我有点天真 - 我将exe文件复制到usb并将其安装在我的朋友计算机上:
他的平台: Windows Vista - X86 64位处理器。
是的 - c不像java(独立于平台),但为什么不尝试: - )
当我尝试启动exefile时出现错误:
程序无法执行,因为缺少libgobject-2.0-0.dll。
所以当我回到家时,我搜索了这个dll文件,它位于bin文件夹中。什么binfoler?我习惯于查看文件的完整路径,但我只能看到它位于bin文件夹中。
所以我的问题:
我只想学习c以及如何使其与其他平台兼容。
这个问题的答案是什么 - 在其他平台上重新编译代码?
提前致谢!
答案 0 :(得分:3)
所以我的问题:
1。这是什么libgobject-2.0-0.dll?它在做什么?
它是图书馆的GLib / GObject / GTK + tryptichon的一部分。它们是GTK +项目的一部分,该项目是一个开源用户界面和应用程序框架。 http://www.gtk.org
程序的某些部分使用GObject功能,因此依赖于此库。
2。它位于何处 - 完整路径?
您系统上的某处。有很多可能的位置。但这并不重要,只需将其复制到你的.exe
旁边 - 无论如何这都是推荐的地方。哦,并准备好复制其他一些DLL。
3。最后_如何在该平台上运行此exe文件?
您的问题不是平台问题,而是缺乏正确的分发。如果在不同的32位Windows机器上运行,你会看到同样的问题。
答案 1 :(得分:1)
这不是C语言问题,这是一个应用程序安装问题。复制.EXE在很多情况下都不起作用。你需要使用的是一个Windows安装程序,它将获取所有依赖程序集,例如libgobject-2.0-0.dll,并将它们打包成一个漂亮的Windows安装程序文件 - 一个.MSI文件。