Я пытался описать в модуле sample_extension.cc (https://www.dartlang.org/articles/server/native-extensions) STL строка:
#include <string>
using namespace std;
string string_ ("std.string");
и этого было достаточно для прекращения создания общей библиотеки libsample_extension.so . Может быть, есть какие-то особые правила для создания таких библиотек или есть более серьезная проблема? Сейчас я использую команды:
g++ -fPIC -DDART_SHARED_LIB -c sample_extension.cc
gcc -shared -Wl, -soname, libsample_extension.so -o libsample_extension.so sample_extension.o*
и сообщений об ошибках нет.
Я получаю ошибку позже в командной строке при запуске dart:
$ dart test_sample_synchronous_extension.dart
libsample_extension.so: cannot open shared object file: No such file or directory error: library handler failed