我最近一直在使用GtkD和D编程语言来创建本机应用程序。我已经下载了所有必要的文件并运行了所有程序,现在我可以编译和生成示例应用程序了。
我的问题是,在一些指南中,它告诉您在您使用的平台上编译GtkD,但重点是什么?编译后,在Windows上只有一个lib文件(GtkD.lib),在Linux上只有三个lib文件(以*.a结尾)。这些文件是用来做什么的,它们是如何使用的?就像我说的,一切似乎都在工作,而不需要对这些文件做任何事情。
我猜你可以静态链接这些?但那是做什么用的?为了避免每次都编译GtkD源代码?我确实尝试过使用pragma('lib', 'GtkD.lib')语句,但它似乎没有任何作用。
有人能解释一下为什么需要这些文件吗?
发布于 2012-06-06 05:55:51
导入的源文件不会进行编译,它们只会解析符号名和函数签名(以及模板)
创建库是为了避免每次需要重新编译整个库时都需要重新编译,这样编译器就只能使用.di文件进行导入
这源于过去编译需要花费很长时间,现在它可以用来保持库的封闭源代码
发布于 2012-06-06 05:54:30
是的,这是为了避免每次都编译GtkD源代码。
尝试使用pragma(lib, "GtkD");而不是pragma('lib', 'GtkD.lib');
这对我很管用。
https://stackoverflow.com/questions/10905212
复制相似问题