首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAWT错误未解决外部符号__imp__JAWT_GetAWT@8

JAWT错误未解决外部符号__imp__JAWT_GetAWT@8
EN

Stack Overflow用户
提问于 2013-10-28 17:50:49
回答 1查看 944关注 0票数 1

我目前正在做一个类似于JOGL的项目,我只想重新制作它,这样我就可以用DirectX做同样的事情了。我从一开始就遇到了这个错误,并且已经研究了大约两天了。

以下是完全错误: Error 1 LNK2019:未解析的外部符号_imp_JAWT_GetAWT@8,在"public:__thiscall JAWT_Info::JAWT_Info(struct JNIEnv_ *,class _jobject *)“函数中引用”__thiscall C:\Users\Michael\documents\visual studio 2013\Projects\BezerkGL\BezerkGL\redgl.obj BezerkGL“

下面是我使用的标题:

代码语言:javascript
复制
#ifndef INFO_H
#define JAWT_INFO_H

// Helper class for accessing JAWT Information.
class JAWT_Info
{
private:
    JAWT awt;
    JAWT_DrawingSurface* ds;
    JAWT_DrawingSurfaceInfo* dsi;
    JAWT_Win32DrawingSurfaceInfo* dsi_win;

public:
    JAWT_Info(JNIEnv *env, jobject panel)
    {
        jboolean result;
        jint lock;

        // Get the AWT
        awt.version = JAWT_VERSION_1_3;
        result = JAWT_GetAWT(env, &awt);
        assert(result != JNI_FALSE);
        // Get the drawing surface
        ds = awt.GetDrawingSurface(env, panel);
        if (ds == NULL)
            return;
        // Lock the drawing surface
        lock = ds->Lock(ds);
        assert((lock & JAWT_LOCK_ERROR) == 0);

        // Get the drawing surface info
        dsi = ds->GetDrawingSurfaceInfo(ds);

        // Get the platform-specific drawing info
        dsi_win = (JAWT_Win32DrawingSurfaceInfo*)dsi->platformInfo;
    }

    HWND getHWND()
    {
        if (dsi_win == NULL)
            return NULL;
        return dsi_win->hwnd;
    }

    HDC getHDC()
    {
        if (dsi_win == NULL)
            return NULL;
        return dsi_win->hdc;
    }

    virtual ~JAWT_Info()
    {
        if (ds != NULL)
        {
            // Free the drawing surface info
            ds->FreeDrawingSurfaceInfo(dsi);
            // Unlock the drawing surface
            ds->Unlock(ds);
            // Free the drawing surface
            awt.FreeDrawingSurface(ds);
        }
    }
};

#endifJAWT_

我很确定这些都是必需的信息。

EN

回答 1

Stack Overflow用户

发布于 2014-02-11 13:17:05

有点晚了,但可能对某些人有用。与C部分(大约32位)相比,应用程序的JNI部分似乎是在不同的体系结构(可能是64位)中用Java编译的。我曾经有过这样的错误,这就是原因。我已经将配置切换到Java 32位,这解决了问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19641685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档