簡體   English   中英

使用CMake訪問SWIG並將Java庫鏈接到現有C ++項目時出現問題

[英]Problems having CMake access SWIG and link a java library to an existing C++ project

我正在修改用C ++編寫的現有開源項目的CMake文件,以嘗試將其鏈接到SWIG Java接口文件。 我從其他論壇拼湊而成的代碼是這樣的:

    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”

謝謝!

我通過在set source properties命令中為包裝器和接口文件添加完整路徑來解決我的特定問題。 為了將其指向jni.h ,我在開頭添加了FIND_PACKAGE(JNI REQUIRED)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM