Eu tenho um arquivo Java que executará um arquivo C ++.
Ao compilar o C ++, recebo este erro:
"-bash: ./liboperator.dylib: cannot execute binary file"
meu Makefile:
out: operator.cpp
g++ -I"$JAVA_HOME/include" -I"$JAVA_HOME/include/darwin" -dynamiclib -o liboperator.dylib operator.cpp
meu arquivo C ++:
operator.cpp
o conteúdo em C ++:
#include <time.h>
#include <string>
#include <iostream>
#include <fstream>
#include <string>
#include "jni.h"
#include <stdio.h>
#include "sleep_tracker_AddHours.h"
using namespace std;
JNIEXPORT void JNICALL Java_sleep_1tracker_AddHours_cppCaller(JNIEnv *, jobject){
fstream myfile("/Users/username/project/out.txt", ios::out | ios::app);
if(myfile.is_open()){
myfile << "hello world from C++" << endl;
}
else {
cout << "Unable to open file\n";
}
myfile.close();
return;
}
O que está causando o problema? Obrigada!
Tags c++ macos binary-files