Я хотел попробовать библиотеку Boost :: Serialization для проекта, над которым я работаю. Я также пытаюсь привыкнуть к программированию в Linux. Я установил повышение в его местах по умолчанию. Я попытался скомпилировать тестовый файл, который они предоставляют здесь с аргументами командной строки, которые они предоставляют, и он работал нормально. В этом примере они используют файл .a.
Затем я перешел на страницу сериализации и попытался запустить один из демоверсий сериализации . Я в основном выполнял те же команды, за исключением того, что я поменял имена файлов и связался с libboost_serialization.a вместо libboost_regex.a, но я получил кучу ошибок. После игры с различными опциями и двойной проверки каталогов я, наконец, начал работать, заменив .a файлом .so.
Просто для справки, что, наконец, сработало для меня, это:
g++ /usr/local/lib/libboost_serialization.so sertest.cpp -o sertest
Почему один пример связан с файлом .a, а с другим - с .so?