| g++ linking Hello,
I have my two main files:
main.h
#include <jni.h>
// Load libs
#ifdef DARWIN // MacOSX
#include "os/darwin/darwin_os.h"
#elif LINUX // Linux
#include "os/linux/linux_os.h";
#endif // End
main .cpp
.... (JNIEnv *env, jobject jobj) {
// idea being that depending on the header loaded it will return the cpu load depending on the OS.
return cpu();
}
linux_os.h
....
linux_os.cpp
double cpu() {
return 23.3;
}
I am currently,
g++ -Wall -c os/linux/linux_os.cpp
then,
g++ -Wall -fPIC -shared -I /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/include -I /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/include/linux/ linux_os.o -c main.cpp
which returns
error: ‘cpu’ was not declared in this scope
I am clearly missing something with linking the libraries. Help is greatly appreciated. Thanks. |