Проблемы с доступом CMake к SWIG и связью библиотеки Java с существующим проектом C ++ - PullRequest
1 голос
/ 27 июля 2011

Я изменяю файл CMake существующего проекта с открытым исходным кодом, написанного на C ++, чтобы попытаться связать его с файлом интерфейса Java SWIG. Код, который я собрал с других форумов и разобрался в следующем:

    FIND_PACKAGE(SWIG REQUIRED)
    INCLUDE(${SWIG_USE_FILE})
    INCLUDE_DIRECTORIES(${JAVA_INCLUDE_PATH})
    INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/avogadro/src)
    SET(CMAKE_SWIG_FLAGS "")
    SET_SOURCE_FILES_PROPERTIES(mainwindow.i PROPERTIES CPLUSPLUS ON)
    SET_SOURCE_FILES_PROPERTIES(mainwindow.i PROPERTIES SWIG_FLAGS "-includeall")
    SWIG_ADD_MODULE(mainwindow java mainwindow.i mainwindow_wrap.c)
    SWIG_LINK_LIBRARIES(mainwindow ${JAVA_LIBRARIES})

Что-то не так с тем, что я написал / нашел? Когда я запускаю команду cmake, она собирается. Тем не менее, когда я запускаю make -j3 (мне нужно сделать это для доступа к новым интегрированным библиотекам позже), он вылетает, выдавая очень неоднозначное сообщение об ошибке «make: * [all] Error 2»

Спасибо!

1 Ответ

1 голос
/ 28 июля 2011

Я исправил свою конкретную проблему, добавив полный путь к файлам оболочки и интерфейса в командах установки свойств источника.Чтобы указать на jni.h, я добавил FIND_PACKAGE(JNI REQUIRED) в начале.

...