CMake 访问 SWIG 并将 java 库链接到现有 C++ 时出现问题;项目

发布于 2024-11-26 21:42:57 字数 731 浏览 0 评论 0原文

我正在修改用 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”

谢谢!

I am modifying a CMake file of an existing open source project written in C++ to try to link it to a SWIG Java interface file. The code I have pieced together from other forums and tinkering around is this :

    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})

Is there anything wrong with what I have written/found? When I run the cmake command, it builds. Yet when I run make -j3 (I need to do this to access the newly integrated libraries later on), it crashes, giving the very ambiguous error message "make: * [all] Error 2 "

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蝶…霜飞 2024-12-03 21:42:57

我通过在设置源属性命令中添加包装器和接口文件的完整路径解决了我的特定问题。为了将其指向 jni.h,我在开头添加了 FIND_PACKAGE(JNI REQUIRED)

I fixed my particular problem by adding the full path to the wrapper and interface files in the set source properties commands. To point it towards jni.h, I added FIND_PACKAGE(JNI REQUIRED) at the beginning.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文