Увеличить сериализацию и MFC: «не удается открыть файл« libboost_serialization-vc141-mt-s-x32-1_69.lib »» - PullRequest
1 голос
/ 28 марта 2019

В настоящее время я пытаюсь использовать повышение для сериализации в моем проекте.Я начал с того, что следовал этой демонстрации и убедился, что могу работать над Visual Studio:,Когда я меняю «Использовать стандартные библиотеки Windows» на «Использовать MFC в статической библиотеке», я получаю сообщение об ошибке:

cannot open file 'libboost_serialization-vc141-mt-s-x32-1_69.lib'

Более конкретно, это происходит для следующих включений:

#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <boost/serialization/list.hpp>

Я новичок в повышении, поэтому мне интересно, почему это происходит и насколько это необходимо для хранения данных.Если фундаментально, как бы я исправить это?

1 Ответ

0 голосов
/ 28 марта 2019

«x32» в имени файла сообщения об ошибке указывает, что «Использовать MFC в статической библиотеке» пытается соединиться с 32-битной библиотекой повышения, а s в имени файла указывает, что ему требуется статическая библиотека, см. как мне декодировать библиотеку буста namimg .

Ваши библиотеки наддува, скорее всего, построены в 64-битном режиме и могут не быть статичными. Из названий библиотек можно узнать: в 64-битных библиотеках в имени файла содержится x64, например: libboost_serialization-vc141-mt-x64-1_69.lib - это 64-битная библиотека, не , созданная для статической ссылки на стандартную библиотеку C ++ и время выполнения компилятора. библиотеки поддержки, потому что не имеют -s в имени файла.

В этом случае решение состоит в том, чтобы создать библиотеку форсированной сериализации в 32-битном режиме с помощью runtime-link=static, см. boost, рассматриваемый в windows .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...