unix_svr4
سه شنبه 14 اسفند 1386, 17:53 عصر
کد های زیر را در نظر بگیرید.
1-فایل helloworld.java
class helloworld
{
public native void displayMessage();
static
{
System.loadLibrary("HelloWorldImp");
}
}
2-فایل main.java
class main
{
public static void main(String[] args)
{
HelloWorld hello = new HelloWorld();
hello.displayMessage();
}
}
3-فایل HelloWorld.cpp
#include <stdio.h>
#include "HelloWorld.h"
JNIEXPORT void JNICALL Java_helloworld_displayMessage(JNIEnv *env, jobject obj)
{
printf("HelloWorld");
}
4-توسط دستور javac helloworld.java و javac main.java فایل های مورد نظر را کامپایل می کنیم و فایل های کلاس ایجاد می شوند.
5-توسط دستور javah -jni helloworld سرفایل مربوط به فایل کلاس helloworld را ایجاد می کنیم.
6-توسط دستور g++ -G -I/usr/jdk/instance/jdk1.5.0/include -I/usr/jdk/instance/include/solaris HelloWorld.cpp -o HelloWorldImp.so
من در سیستم عامل یونیکس (سولاریس) این کار را انجام دادم. همه چیز درست است ولی وقتی که می خواهم دستور java main را صادر کنم برنامه با یک پیام خطا مبنی بر اینکه نمی توانم فایل کتابخانه ای را پیدا کنم متوقف می شود.
از دوستانی که می دانند مشکل برنامه من از کجاست خواهش می کنم من را راهنمایی کنند.
متشکرم.
1-فایل helloworld.java
class helloworld
{
public native void displayMessage();
static
{
System.loadLibrary("HelloWorldImp");
}
}
2-فایل main.java
class main
{
public static void main(String[] args)
{
HelloWorld hello = new HelloWorld();
hello.displayMessage();
}
}
3-فایل HelloWorld.cpp
#include <stdio.h>
#include "HelloWorld.h"
JNIEXPORT void JNICALL Java_helloworld_displayMessage(JNIEnv *env, jobject obj)
{
printf("HelloWorld");
}
4-توسط دستور javac helloworld.java و javac main.java فایل های مورد نظر را کامپایل می کنیم و فایل های کلاس ایجاد می شوند.
5-توسط دستور javah -jni helloworld سرفایل مربوط به فایل کلاس helloworld را ایجاد می کنیم.
6-توسط دستور g++ -G -I/usr/jdk/instance/jdk1.5.0/include -I/usr/jdk/instance/include/solaris HelloWorld.cpp -o HelloWorldImp.so
من در سیستم عامل یونیکس (سولاریس) این کار را انجام دادم. همه چیز درست است ولی وقتی که می خواهم دستور java main را صادر کنم برنامه با یک پیام خطا مبنی بر اینکه نمی توانم فایل کتابخانه ای را پیدا کنم متوقف می شود.
از دوستانی که می دانند مشکل برنامه من از کجاست خواهش می کنم من را راهنمایی کنند.
متشکرم.