0

我目前正在开发一个项目,我想在 Java 中使用 Azure Kinect SDK。据我所知,没有适用于 java 的 Azure Kinect 库。因此,我正在尝试使用 JNI 在 C++ 中的 Azure Kinect 库与 Java 之间建立一座桥梁。

这是我的名为 cCode.cpp 的 C++ 文件:

#include "processingXJava_MyClass.h"
#include <iostream>
#include <D:\Dokumente\Hochschule\Bachelorarbeit\Eclipse\processingXJava\src\microsoft.azure.kinect.sensor.1.4.1\build\native\include\k4a\k4a.h>


using namespace std;

JNIEXPORT void JNICALL Java_processingXJava_MyClass_helloC
  (JNIEnv *env, jclass cls){
        std::cout << "Hallo Hallo" << std::endl;

        uint32_t count = k4a_device_get_installed_count();
        
        k4a_device_t device = NULL;
        k4a_device_open(K4A_DEVICE_DEFAULT, &device);

        size_t serial_size = 0;
        k4a_device_get_serialnum(device, NULL, &serial_size);

        char* serial = (char*)(malloc(serial_size));
        k4a_device_get_serialnum(device, serial, &serial_size);



        cout << serial;



    }

我从这个站点获得了 Azure Kinect 包:https ://www.nuget.org/packages/Microsoft.Azure.Kinect.Sensor/

下一步是编译 C++ 文件。我使用以下命令来执行此操作: cl -I"C:\Program Files\Java\jdk1.8.0_201\include" -I"C:\Program Files\Java\jdk1.8.0_201\include\win32" -I "D:\Dokumente\Hochschule\Bachelorarbeit\Eclipse\processingXJava\src\microsoft.azure.kinect.sensor.1.4.1\build\native\include\k4a" -LD "cCode.cpp" -Fe"cCode.dll"

当我执行此操作时,我收到“LNK2019:未解析的外部符号”错误。

任何想法如何解决这个问题?

4

0 回答 0