Я пытаюсь добавить поддержку Win32 в набор тестов для библиотеки C ++.
Все остальное работает нормально, но когда я пытаюсь скомпилировать, я получаю хороший длинный список ошибок, подобных этому:
4> TestConfigCppLive.obj: ошибка LNK2028: неразрешенный токен (0A00048E) «extern» C «пусто @Z) упоминается в функции «public: void __thiscall std :: _ String_alloc>> :: _ Alloc_proxy (void)» (? _Alloc_proxy @? $ _ String_alloc @ U? $ _ String_base_types @ DV? $ Allocator @ D @ std @@@ std @ @@ станд @@ $$ FQAEXXZ)
4> CppLimitOnline_Should.obj: ошибка LNK2028: неразрешенный токен (0A00010A) «extern» C «пусто @Z) упоминается в функции «public: void __thiscall std :: _ Iterator_base12 :: _ Orphan_me (void)» (? _Orphan_me @ _Iterator_base12 @ std @@ $$ FQAEXXZ)
и так далее.
Я видел несколько «ответов», связанных с похожей ошибкой, но все они для обычных проектов, а не для MSTest. Их решения были либо не применимы, либо не работали.
Я прошёл csproj построчно с новым C ++ управляемым тестовым проектом, и мне не повезло, что я решил эту ошибку. У меня есть .cpp для всех этих файлов, и он не составляет проблем на x64. Что мне здесь не хватает? MSTest не так хорошо поддерживается в x86?
Задача ещё не решена.
Других решений пока нет …