【问题标题】:Including JNA code in project - compile error在项目中包含 JNA 代码 - 编译错误
【发布时间】:2012-04-27 14:33:41
【问题描述】:

我正在使用来自另一个 StackOverflow 帖子 - Java - How to take a screenshot fast 的示例代码,但我遇到了一些问题。

我从其Github repository 下载了 JNA 文件,然后将文件复制到 JAR 文件中,并将其放入我的程序所在的同一文件夹中。但是当我尝试编译我的程序时,它给了我很多错误,如下所示:

C:\Users\windows\Desktop\testPrintScreen>javac JNAScreenShot.java
JNAScreenShot.java:12: error: package com.sun.jna.platform.win32 does not exist
import com.sun.jna.platform.win32.W32API;
                             ^
JNAScreenShot.java:129: error: package com.sun.jna.platform.win32 does not exist
interface GDI32 extends com.sun.jna.platform.win32.GDI32 {

                                              ^
JNAScreenShot.java:58: error: cannot find symbol
bufferedImageFromBitmap(GDI32.HDC        blitDC,
                             ^
symbol:   class HDC
location: interface GDI32
JNAScreenShot.java:59: error: cannot find symbol
                        GDI32.HBITMAP    outputBitmap,
                             ^
symbol:   class HBITMAP
location: interface GDI32
JNAScreenShot.java:60: error: cannot find symbol
                        GDI32.BITMAPINFO bi) {
                             ^
 symbol:   class BITMAPINFO
 location: interface GDI32
JNAScreenShot.java:151: error: package com.sun.jna.platform.win32 does not exist
interface User32 extends com.sun.jna.platform.win32.User32 {

有人知道发生了什么吗?是导致问题的导入部分吗?这些是我的导入:

import com.sun.jna.Native;
import com.sun.jna.platform.win32.W32API;
import com.sun.jna.win32.W32APIOptions;

【问题讨论】:

  • 您是否从存储库中获取了所有文件?此外,最好下载您单独链接的项目并将其构建为 JAR,然后将该 JAR 链接到您的项目。

标签: java windows jna


【解决方案1】:

我目前没有 Windows 机器,但下面的变体应该可以正常工作。在命令窗口中切换到一个方便的目录,然后:

git clone https://github.com/twall/jna.git
cd jna
ant
cd dist
pwd

记下最后一条路径,编译 JNA 程序时需要将其包含在类路径中。您可能还需要在 dist 文件夹中包含一些其他 JAR。


* 编辑 * 根据您的其他 cmets,您的代码似乎正在使用较旧的 JNA API。有关如何解决该问题的更多信息,请参阅此 SO 帖子 - JNA W32API - Where are they?

【讨论】:

  • 感谢您的回复,但 windows 不 jave git clone .. 它是 linux 命令正确的 .. 但无论如何 .thanks ..
  • 是的,这就是为什么我说需要命令的变体。在 Windows 上,您可以使用 cygwin,然后您几乎可以运行我在回答中的内容。或者您可以使用您喜欢的Windows Git client 下载代码。
  • 我想我知道这是什么问题.. W32API 丢失了,你知道在哪里可以找到它吗?我找到了一些,但它在 java 文件中。所以我编译它,但它给了我很多错误..
猜你喜欢
  • 2011-02-06
  • 1970-01-01
  • 2014-03-10
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
相关资源
最近更新 更多