Я пытаюсь использовать новую версию libyaml-cpp и у меня проблемы с компоновщиком (undefined reference to 'YAML::LoadFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
).
Я собираю библиотеку следующим образом:
cmake -DBUILD_SHARED_LIBS=ON ..
make
sudo make install
Потом включаю yaml-cpp/yaml.h
и вызываю YAML::LoadFile( some_string );
. Моя строка компиляции:
g++ -L/usr/local/lib -I/usr/local/include -lyaml-cpp -std=c++0x -o $@ $^
Я также пытался поместить туда точный файл .so
, но безуспешно. Используя nm
, я вижу функцию LoadFile
в общей библиотеке. Я не могу понять, то ли я каким-то образом использую неправильную строку сборки, то ли что-то не так с библиотекой.