照着eclipse的引导教程,新建一个swt的hello world程序。
我是一步一步跟着做的,但是编译通过却运行报错。
在网上找到了相似的情况,解决了,于是贴在这里。
问题:
n a WinDoze 7 Pro 32-bit machine, if I follow the instructions for creating a Hello World SWT example, it will work for Helios, but when I try it on Indigo, it fails with the following message:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-win32-3735 in java.library.path
no swt-win32 in java.library.path
Can't load library: C:\Users\arick\.swt\lib\win32\x86\swt-win32-3735.dll
Can't load library: C:\Users\arick\.swt\lib\win32\x86\swt-win32.dll
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:285)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:194)
at org.eclipse.swt.internal.C.(C.java:21)
at org.eclipse.swt.widgets.Display.(Display.java:138)
at HelloWorldSWT.main(HelloWorldSWT.java:12)
The project, org.eclipse.swt.win32.win32.x86 is in the build path of my HelloWorldSWT project. What I don't understand is why it is looking in my home directory for the SWT DLL?
解答:
Had Same initial issue and finally sorted it by...
Right click on project and go toProperties
InJava Build Pathunder theProjectstab there is the associated Project, in my caseorg.eclipse.swt.win32.win32.x86
Expand this down with the little arrow to the left to display the options. Here I foundNative Library Locations. This wasn't set so I selected it and clickedEdit.
In the Popup window that follows, I selectedWorkspaceand thenorg.eclipse.swt.win32.win32.x86.
Next time I ran the class, it work fine.
I hope this helps someone!