java - 如何解决我的错误LNK2019

标签 java c++

我遇到了 LNK2019 错误。详情是

error LNK2019: unresolved external symbol imp__JAWT_GetAWT@8 referenced in function "struct HWND * cdecl getHwndFromComponent(class jobject *,struct JNIEnv *)" (?getHwndFromComponent@@YAPAUHWND@@PAV_jobject@@PAUJNIEnv_@@@Z)

我正在构建的是 DLL 类型的 Win32 控制台应用程序

我已经包含了 jawt_md.h。一开始以为是64位Java的问题,于是做了如下操作:

1、安装32位java

2、添加C:\Program Files (x86)\Java\jdk1.6.0_45\include\win32;附加包含目录。

3、确保操作系统级别调用的java在C:\Program Files (x86)\Java\jdk1.6.0_45\bin中。 (使用java -version测试)

但是,我在构建项目的时候还是遇到了同样的问题。

提前感谢您的帮助。

最佳答案

JAWT 是一个共享库,这意味着您需要与它链接。

试试这个:

  1. 添加 C:\Program Files (x86)\Java\jdk1.6.0_45\lib 作为附加库路径(在链接器设置下)

  2. jawt 添加为附加库(在链接器设置下)

关于java - 如何解决我的错误LNK2019,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39267055/

相关文章:

java - RecyclerView 未被填充(getItemCount() 返回零)

java - 如何将 GUI 组件放入 OpenGL 屏幕中

c++ - 从 {fmt} 中获得最佳性能

c++ - 如何将字符串解析为 C++ typename?

javascript - 根据id从文本输入中获取 boolean 值

java - 使用 Java 中的 Streams/Lambda 将 Stream<Stream<T>> 转换为 T[][]

java - 当我在 CardStackView 的最后一项时?

c++ - C++ 类型在列表中 self 注册的最佳方式?

c++ - 在内存 OpenCV 2 上写入视频

c++ - CGAL:将商转换为 double