Closed Yaccc closed 5 years ago
You are missing the c++ header, which is in ${/usr/libexec/java_home/}/include
, I added that and it compiles for me:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d575706..49ba0fc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,15 +8,20 @@ project (perf-map-agent)
set(OUTDIR ${PROJECT_BINARY_DIR}/out)
set(LIBRARY_OUTPUT_PATH ${OUTDIR})
+execute_process(COMMAND /usr/libexec/java_home OUTPUT_VARIABLE JAVA_INCLUDE_PATH_TMP OUTPUT_STRIP_TRAILING_WHITESPACE)
+set(JAVA_INCLUDE_PATH3 ${JAVA_INCLUDE_PATH_TMP}/include)
+
find_package(JNI)
if (JNI_FOUND)
message (STATUS "JNI_INCLUDE_DIRS=${JNI_INCLUDE_DIRS}")
message (STATUS "JNI_LIBRARIES=${JNI_LIBRARIES}")
message (STATUS "JAVA_INCLUDE_PATH=${JAVA_INCLUDE_PATH}")
message (STATUS "JAVA_INCLUDE_PATH2=${JAVA_INCLUDE_PATH2}")
+ message (STATUS "JAVA_INCLUDE_PATH3=${JAVA_INCLUDE_PATH3}")
endif()
INCLUDE_DIRECTORIES(${JAVA_INCLUDE_PATH})
INCLUDE_DIRECTORIES(${JAVA_INCLUDE_PATH2})
+INCLUDE_DIRECTORIES(${JAVA_INCLUDE_PATH3})
add_library(perfmap SHARED src/c/perf-map-agent.c src/c/perf-map-file.c)
I change CMakelist.text line
set(CMAKE_JAVA_INCLUDE_PATH /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/lib/tools.jar)