为 Android 构建 capicxx-core-runtime
Building capicxx-core-runtime for Android
我们正在尝试为基于 ARM 的平台构建 capicxx-core-runtime
运行 Android Pie。它是一个开源 IPC 框架,是主要汽车 OEM 的 GENIVI 计划的一部分。我们的目标是将 IPC 框架引入我们的 Android 系统。
git 仓库放在这里https://github.com/GENIVI/capicxx-core-runtime.git
我正在使用 Android NDK 版本 r17b 并使用以下命令构建基于 cmake 的构建。
cmake -DCMAKE_TOOLCHAIN_FILE=/home/hp/downloads/android-ndk-r17b/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_NATIVE_API_LEVEL=27 ../
当我使用 'make' 编译时,我看到编译了各个 cpp 文件,但在 linking 期间出现以下错误,如 link below.What 是我可能缺少的配置。
capicxx-core-runtime 正在构建一个共享库,因此您需要解析它的所有内部符号,包括 c++ 运行时。
要快速测试:将 capicxx-core-runtime CMakeLists.txt 编辑为 link c++_shared 运行时,第 130 行:
target_link_libraries(CommonAPI PRIVATE ${DL_LIBRARY} ${DLT_LIBRARIES})
变成
target_link_libraries(CommonAPI PRIVATE ${DL_LIBRARY} ${DLT_LIBRARIES} c++_shared)
并重新运行您的 cmake 命令和 make 命令。
似乎 capicxx-core-runtime 现在可以为 Android(NDK 和 AOSP)开箱即用,请查看相应的拉取请求:https://github.com/GENIVI/capicxx-core-runtime/pulls?q=author%3Ankh-lab+
这里还有一个简单的示例,用于 AndroidStudio 如何与 vSOME/IP 传输一起使用:https://github.com/nkh-lab/ndk-capi-hello-world
我们正在尝试为基于 ARM 的平台构建 capicxx-core-runtime
运行 Android Pie。它是一个开源 IPC 框架,是主要汽车 OEM 的 GENIVI 计划的一部分。我们的目标是将 IPC 框架引入我们的 Android 系统。
git 仓库放在这里https://github.com/GENIVI/capicxx-core-runtime.git
我正在使用 Android NDK 版本 r17b 并使用以下命令构建基于 cmake 的构建。
cmake -DCMAKE_TOOLCHAIN_FILE=/home/hp/downloads/android-ndk-r17b/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_NATIVE_API_LEVEL=27 ../
当我使用 'make' 编译时,我看到编译了各个 cpp 文件,但在 linking 期间出现以下错误,如 link below.What 是我可能缺少的配置。
capicxx-core-runtime 正在构建一个共享库,因此您需要解析它的所有内部符号,包括 c++ 运行时。
要快速测试:将 capicxx-core-runtime CMakeLists.txt 编辑为 link c++_shared 运行时,第 130 行:
target_link_libraries(CommonAPI PRIVATE ${DL_LIBRARY} ${DLT_LIBRARIES})
变成
target_link_libraries(CommonAPI PRIVATE ${DL_LIBRARY} ${DLT_LIBRARIES} c++_shared)
并重新运行您的 cmake 命令和 make 命令。
似乎 capicxx-core-runtime 现在可以为 Android(NDK 和 AOSP)开箱即用,请查看相应的拉取请求:https://github.com/GENIVI/capicxx-core-runtime/pulls?q=author%3Ankh-lab+
这里还有一个简单的示例,用于 AndroidStudio 如何与 vSOME/IP 传输一起使用:https://github.com/nkh-lab/ndk-capi-hello-world