Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string>
- namespace LegacyLibrary {
- class LegacyClass {
- public:
- const std::string& getProperty() { return property; }
- void setProperty(const std::string& property) { this->property = property; }
- private:
- std::string property;
- };
- }
- import com.googlecode.javacpp.*;
- import com.googlecode.javacpp.annotation.*;
- @Platform(include="LegacyLibrary.h")
- @Namespace("LegacyLibrary")
- public class LegacyLibrary {
- public static class LegacyClass extends Pointer {
- static { Loader.load(); }
- public LegacyClass() { allocate(); }
- private native void allocate();
- public native @ByRef String getProperty();
- public native void setProperty(String property);
- }
- public static void main(String[] args) {
- LegacyClass l = new LegacyClass();
- l.setProperty("Hello World!");
- System.out.println(l.getProperty());
- }
- Exception in thread "main" java.lang.NoClassDefFoundError: java.lang.ClassNotFoundException: com.test.LegacyLibrary
- at com.googlecode.javacpp.Loader.load(Loader.java:293)
- at com.googlecode.javacpp.Loader.load(Loader.java:271)
- at com.test.LegacyLibrary$LegacyClass.<clinit>(LegacyLibrary.java:12)
- at com.test.LegacyLibrary.main(LegacyLibrary.java:23)
- Caused by: java.lang.ClassNotFoundException: com.test.LegacyLibrary
- at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
- at java.security.AccessController.doPrivileged(Native Method)
- at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
- at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
- at java.lang.Class.forName0(Native Method)
- at java.lang.Class.forName(Class.java:169)
- at com.googlecode.javacpp.Loader.load(Loader.java:291)
- ... 3 more
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement