【问题标题】:How can one create a gui application without a console?如何在没有控制台的情况下创建 gui 应用程序?
【发布时间】:2013-09-26 18:57:46
【问题描述】:

如何在没有控制台的情况下在 Windows 下创建或编译 GUI 应用程序? 我已经在互联网上搜索过,但没有找到任何有用的东西。如果您能提供任何指导,我将不胜感激。

(* ocamlc -I +labltk labltk.cma gui.ml -o gui.exe *)

open Tk ;;

let top = openTk () ;;
Wm.title_set top "Application 1" ;;
Wm.geometry_set top "200x500";;

let blue = Button.create ~text:"Blue" top ;;
let red = Button.create ~text:"Red" top ;;
pack [blue ; red];;

let mylist = Listbox.create ~selectmode:`Multiple top
let _ = Listbox.insert
    ~index:`End
    ~texts:["Mozart";"Chopin";"Beethoven";"Verdi";"Bizet"]
    mylist ;;
pack [mylist];;

let _ = Printexc.print mainLoop ();;

【问题讨论】:

    标签: windows user-interface ocaml


    【解决方案1】:

    您需要将“-subsystem windows”传递给链接器;并且可能是“-custom”,因为 ocamlrun.exe 是一个控制台应用程序:

    ocamlc -I +labltk labltk.cma gui.ml -custom -cclib -subsystem -cclib windows -o gui.exe
    

    【讨论】:

    • cygwin 警告:检测到 MS-DOS 样式路径:C:\DOCUME~1\SA\LOCALS~1\Temp\camlprim8e3098.c 首选 POSIX 等效项是:/cygdrive/c/DOCUME~1/ SA/LOCALS~1/Temp/camlprim8 e3098.c CYGWIN 环境变量选项“nodosfilewarning”关闭此警告。有关 POSIX 路径的更多详细信息,请参阅用户指南:cygwin.com/cygwin-ug-net/using.html#using-pathnames ** 致命错误:找不到文件“libws2_32”文件“gui.ml”,第 1 行:错误:构建自定义运行时系统时出错
    【解决方案2】:

    我自己主要是一名 OS X / Unix / Linux 程序员,但你可以试试这个其他 SO 页面:

    Hide console of Windows Application

    关键因素似乎是链接器选项和入口点名称。

    【讨论】:

      猜你喜欢
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多