标签:
如果你使用DGUI库,同时又需要使用ms-coff格式的lib文件,那么你需要注意一些事情。
在Visual-D中使用MS-COFF库文件格式需要选中以下两个选项:
import std.stdio; import dgui.all; import core.sys.windows.windows; import core.runtime; int main(string[] args) { Form f = new Form(); f.size = Size(300,300); Application.run(f); }
错误提示找不到WinMain函数,这是因为使用微软的连接器,如果子系统为Windows时,会选择连接WinMain函数作为入口函数。
处理这个问题有两个办法:
二、使用WinMain函数
import std.stdio; import dgui.all; import core.sys.windows.windows; import core.runtime; extern (Windows) int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { Form f = new Form(); f.size = Size(300,300); Application.run(f); return 0; }
使用以上代码编译,会通过,再运行出来没有窗口出来。这是为什么呢??
这是因为D语言运行时库没有初始化。需要修改代码如下:
import std.stdio; import dgui.all; import core.sys.windows.windows; import core.runtime; extern (Windows) int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { Runtime.initialize(); scope(exit)Runtime.terminate(); Form f = new Form(); f.size = Size(300,300); Application.run(f); return 0; }
OK,搞定,运行出来了
标签:
原文地址:http://www.cnblogs.com/wanhongnan/p/5774943.html