Re: [Ikvm-developers] UnsatisfiedLinkError when loading native codeinside java app
Brought to you by:
jfrijters
From: Volker B. <vol...@go...> - 2010-03-05 20:44:07
|
Hi Jakub, I have no idea. It can that Jeroen has some ides if he back in some days. You can print in your program if it run with 32 or 64 bit. But I think that it will run with 32 bit. Only to make sure that your setting work. In a previous email you have write (I think) that you the dll not need. In this case you can test if you can catch the exception and can continue. You can also check if lib.dll need another dll like a msvcp###.dll to load. Volker > -----Ursprungliche Nachricht----- > Von: felas [mailto:fe...@wp...] > Gesendet: Freitag, 5. Marz 2010 13:04 > An: ikv...@li... > Betreff: Re: [Ikvm-developers] UnsatisfiedLinkError when > loading native codeinside java app > > > Hi Volker, > > thanks for your help, it took long time for me to discover > 1.) and 3.) but I > know about it already :) > Let's go step further: > > LibTest.dll created in this way ---> ikvmc -platform:x86 > -target:library LibTest.jar > > --- C# code ----------------------------------- > > class Program > { > static void Main(string[] args) > { > new Program(); > } > > public Program() > { > Console.WriteLine("go"); > DLLTest dt = new DLLTest(); > } > } > ------------------------------------------------ > > References: > LibTest.dll > IKVM.OpenJDK.Core.dll > > In VS project properties, section Build, platform target set to x86. > DLLTest class uses System.load to load D:\test\lib.dll (the > code was shown > in the previous post) > > Nothing has changed, same error: > > java.lang.UnsatisfiedLinkError was unhandled > Message="Can't load library: D:/test/lib.dll" > Source="IKVM.OpenJDK.Core" > StackTrace: > w java.lang.ClassLoader.loadLibrary(Class , String , Boolean ) > w java.lang.Runtime.load0(Class , String ) > w java.lang.System.load(String filename, CallerID ) > w DLLTest..ctor() > w DLLTest_.NET.Program..ctor() w > C:\Users\felas\Documents\Visual > Studio 2008\Projects\DLLTest.NET\DLLTest.NET\Program.cs:wiersz 18 > w DLLTest_.NET.Program.Main(String[] args) w > C:\Users\felas\Documents\Visual Studio > 2008\Projects\DLLTest.NET\DLLTest.NET\Program.cs:wiersz 12 > (...) > > > Any ideas? > Jakub > > > > 1.) If you write a C# application with Visual Studio that use a 32 bit > library then you need to set it as target of your project. > > 2.) If you run a Java application with ikvm.exe then you need > to force it as > 32 bit exe. Jeroen tell me that this should be possible with: > "corflags > /32bit+ /force ikvm.exe" to make ikvm.exe a 32 bit managed exe. The > corflags.exe utility is part of the .NET Framework SDK (now > Windows SDK). > > 3.) If you create an exe with ikvmc then you can use the > option "-platform" > to set it to 32 bit. > -- > View this message in context: > http://old.nabble.com/UnsatisfiedLinkError-when-loading-native > -code-inside-java-app-tp27772718p27793080.html > Sent from the IKVM .NET - Dev mailing list archive at Nabble.com. > > > -------------------------------------------------------------- > ---------------- > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Ikvm-developers mailing list > Ikv...@li... > https://lists.sourceforge.net/lists/listinfo/ikvm-developers > |