вызвать функцию библиотеки C из Xcode - PullRequest
0 голосов
/ 19 декабря 2018

Файл заголовка моста содержит:

#define qnorm5        Rf_qnorm5
#define qnorm qnorm5

double  qnorm5(double, double, double, int, int);

, а код (который компилируется!) -

let myresult = qnorm (0.75,0,1,1,0)

, но компоновщик жалуется

Undefined symbols for architecture x86_64:
  "_qnorm", referenced from:
      macOS_app_test.ViewController.sayButtonClicked(Any) -> () in ViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Отвывод, правильная библиотека найдена и связана, но компоновщик не ищет правильный символ.Символ, который должен искать компоновщик, - _Rf_qnorm5.

1 Ответ

0 голосов
/ 20 декабря 2018

Очевидно, я должен был понять, что правильное имя функции должно быть Rf_qnorm5.

Кроме того, была проблема с XCode, фактически находящим файл заголовка моста.При наличии обоих код работает.

...