JNI¸¦ ÀÌ¿ëÇÑ DLL LINK½ÃÅ°±â À§ÇØ DLL»ý¼º½Ã ERROR¿¡ ´ëÇÏ¿©


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]

±Û¾´ÀÌ :Ȳ¼ºÇÑ 2000³â 5¿ù 16ÀÏ 12:14:01

ÀÌ·± À¯¿ëÇÑ »çÀÌÆ®°¡ ÀÖ´Ù´Â °Í¿¡ Ç×»ó °¨»çµå¸³´Ï´Ù.
´Ù¸§ÀÌ ¾Æ´Ï¶ó ¾Æ·¡¿Í °°ÀÌ JNI¸¦ ÀÌ¿ëÇÏ¿© DLLÀ» LINK½ÃÅ°´Â ¹æ¹ýÀ» ¾Æ·¡¿Í °°ÀÌ Çغ¸¾Ò½À´Ï´Ù¸¸ ¾îµð°¡ À߸øÀÎÁö ERROR°¡ ¹ß»ýÇϴ±º¿ä.
°í¼ö´ÔµéÀÇ ÇѼö ÁöÀûÀ» ºÎŹµå¸³´Ï´Ù.


/*****************************************************/* JUtil.java */
/*****************************************************/
package sini;


import java.awt.*;
import java.util.*;
import java.io.*;


public final class JUtil
{


static
{
System.loadLibrary("JUtil");
}


private JUtil() {}
public static native int getHwnd(String title);
public static native void setWindowAlwaysOnTop(int hwnd, boolean flag);
}


javac Util.java
javah -jni sini.JUtil


/*****************************************************/
/* sini_JUtil.h */
/*****************************************************/
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class sini_JUtil */


#ifndef _Included_sini_JUtil
#define _Included_sini_JUtil
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: sini_JUtil
* Method: getHwnd
* Signature: (Ljava/lang/String;)I
*/
JNIEXPORT jint JNICALL Java_sini_JUtil_getHwnd
(JNIEnv *, jclass, jstring);


/*
* Class: sini_JUtil
* Method: setWindowAlwaysOnTop
* Signature: (IZ)V
*/
JNIEXPORT void JNICALL Java_sini_JUtil_setWindowAlwaysOnTop
(JNIEnv *, jclass, jint, jboolean);


#ifdef __cplusplus
}
#endif
#endif


/****************************************************/
/* JUtil.c */
/****************************************************/
#include "sini_JUtil.h"
#define STRICT
#include <windows.h>
#include <conio.h>


JNIEXPORT jint JNICALL Java_sini_JUtil_getHwnd(JNIEnv *env, jclass obj, jstring title)
{
HWND hwnd = NULL;
const char *str = NULL;


str = (*env)->GetStringUTFChars(env, title, 0);
hwnd = FindWindow(NULL,str);
(*env)->ReleaseStringUTFChars(env, title, str);


return (jint) hwnd;
}


JNIEXPORT void JNICALL Java_sini_JUtil_setWindowAlwaysOnTop(JNIEnv *env, jclass obj, jint hwnd, jboolean flag)
{
if (flag)
SetWindowPos((HWND) hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
else
SetWindowPos((HWND) hwnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);


return;
}


cl JUtil.c -I"C:\java\include" -I"C:\java\include\win32" -I"C:\Program Files\Microsoft Visual Studio\VC98\include" -FeJutil.dll -MD -LD "C:\java\lib\javai.lib" "c:\program files\microsoft visual studio\vc98\lib\uuid.lib" "c:\program files\microsoft visual studio\vc98\lib\msvcrt.lib" "c:\program files\microsoft visual studio\vc98\lib\oldnames.lib" "c:\program files\microsoft visual studio\vc98\lib\kernel32.lib"


/****************************************************/
/* error message */
/****************************************************/
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.


/out:Jutil.dll
/dll
/implib:Jutil.lib
JUtil.obj
C:\java\lib\javai.lib
"c:\program files\microsoft visual studio\vc98\lib\uuid.lib"
"c:\program files\microsoft visual studio\vc98\lib\msvcrt.lib"
"c:\program files\microsoft visual studio\vc98\lib\oldnames.lib"
"c:\program files\microsoft visual studio\vc98\lib\kernel32.lib"
Creating library Jutil.lib and object Jutil.exp
JUtil.obj : error LNK2001: unresolved external symbol __imp__FindWindowA@8
JUtil.obj : error LNK2001: unresolved external symbol __imp__SetWindowPos@28
Jutil.dll : fatal error LNK1120: 2 unresolved externals


¾îµð°¡ À߸øµÇ¾ú´ÂÁö °¡¸£ÃÄÁÖ¼¼¿ä...


´ÙÀ½ ±Ûµé:



À̾ ±Û¿Ã¸®±â(´äÇϱâ)

À̸§:
E-Mail:
Á¦¸ñ:
³»¿ë:
HTML ÅÂ±× Æ÷ÇÔ ¿©ºÎ: HTML ¹®¼­ÀÏ °æ¿ì üũ
°ü·Ã URL(¼±ÅÃ):
URL Á¦¸ñ(¼±ÅÃ):
°ü·Ã À̹ÌÁö URL:


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]