【问题标题】:Running GTK through Java on Windows在 Windows 上通过 Java 运行 GTK
【发布时间】:2013-10-06 10:38:26
【问题描述】:

我发现只有一个project 允许这样做(来自这个answer)。
我正在努力让它工作(只是为了好玩)。到目前为止,我已经通过Eclipse 构建了java 代码(必须添加slf4j jar 来构建路径),然后修改build_jni.bat 并在没有错误消息的情况下运行它,所以我认为它也完成了它的工作。

现在我处于 README 的第三个子步骤,即"Build the c portion next. You will need to point the gcc compiler and linker to the /include and /lib folders of the extracted GTK bundle."。我不太确定下一步该做什么......没有“makefile”或类似的东西。我应该将文件扔给编译器并希望它从头开始计算所有内容吗?还是什么?

【问题讨论】:

    标签: java c windows gcc gtk


    【解决方案1】:

    我的计划是发布一组完整的二进制文件,这样用户就不必从头开始构建所有东西,但似乎对该项目没有太大兴趣,所以我转向了其他事情。现在有来自 StackOverflow 的链接,也许我会再看一下。

    我使用 Eclipse 使用 MinGW GCC 工具链构建所有内容。我记得设置 MinGW 并配置为与 Eclipse 一起工作需要一段时间,我现在不记得所有步骤了。

    安装和配置后,您需要修改项目设置:

    C/C++ 构建 -> 设置 -> 工具设置 -> GCC C 编译器 -> 包含

    "C:\Program Files\Java\jdk1.6.0_25\include"
    "${workspace_loc:/${ProjName}/src/main/c/include}"
    "C:\Program Files\Java\jdk1.6.0_25\include\win32"
    "C:\data\Projects\java-gtk\gtk3\include\gtk-3.0"
    "C:\data\Projects\java-gtk\gtk3\include\glib-2.0"
    "C:\data\Projects\java-gtk\gtk3\lib\glib-2.0\include"
    "C:\data\Projects\java-gtk\gtk3\include\cairo"
    "C:\data\Projects\java-gtk\gtk3\include\pango-1.0"
    "C:\data\Projects\java-gtk\gtk3\lib\gtk-3.0\include"
    "C:\data\Projects\java-gtk\gtk3\include\gdk-pixbuf-2.0"
    "C:\data\Projects\java-gtk\gtk3\include\atk-1.0"
    

    C/C++ 构建 -> 设置 -> 工具设置 -> MinGW C 链接器 -> 库

    gtk-3
    cairo
    pango-1.0
    gobject-2.0
    glib-2.0
    gdk-3
    atk-1.0
    gdk_pixbuf-2.0
    

    C/C++ Build -> Settings -> Tool Settings -> MinGW C Linker -> Library search path

    "C:\data\Projects\java-gtk\gtk3\lib"
    

    您需要根据您提取 gtk 包的位置更改上面的一些路径。

    项目不完整,可能没有足够的内容来构建完整的 UI。但欢迎您添加您认为必要的任何其他内容。

    【讨论】:

    • 谢谢,欢迎来到 SO! :D 有时间我会再试一次。
    • 我添加了所有包含(但没有...\lib\gtk-3.0\include),还剩下一个错误:fatal error: glibconfig.h: No such file or directory(在gtk-bundle/include/glib-2.0/glib/gtypes.h,第 34 行)我做错了什么?
    • 我不确定有什么问题。我检查了 gtk 包,glibconfig.h 位于它应该在 /lib/glib-2.0/include/ 的位置,因此只要该路径包含在包含列表中,它就应该找到它。我会重新检查您提取捆绑包的路径以及包含列表中的路径。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 2013-03-22
    相关资源
    最近更新 更多