Невозможно скомпилировать с hxcpp, если аргумент функции равен uint8_t - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь скомпилировать нативную библиотеку с помощью hxcpp, но получаю эту ошибку:

test.cpp:15:16: error: no matching function for call to 'foo'
DEFINE_PRIME1v(foo);
               ^~~
/media/Archivos/Lib/haxe/hxcpp/4,0,4/include/hx/CFFIPrime.h:603:41: note: 
      expanded from macro 'DEFINE_PRIME1v'
  value func##__wrap(PRIME_ARG_DECL1) { func(PRIME_ARG_LIST1); return al...
                                        ^~~~
test.cpp:11:6: note: candidate function not viable: no known conversion from
      'cffi::AutoValue' to 'uint8_t *' (aka 'unsigned char *') for 1st argument
void foo(uint8_t *data)
     ^
1 error generated.

Я понимаю, что это из-за типа аргумента, но я не знаю, как решить эту проблему.

Это минимальный пример того, что я делаю, и выдает ту же ошибку.

test.cpp

#ifndef STATIC_LINK
#define IMPLEMENT_API
#endif

#include <cstdint>

#include <hxcpp.h>
#include <hx/CFFIPrime.h>

void foo(uint8_t *data)
{
    printf("%x\n", data[0]);
}
DEFINE_PRIME1v(foo);
...