В приложении C ++ отсутствует winrt :: Windows :: Хранилище :: Потоки :: DataWriter - PullRequest
0 голосов
/ 28 августа 2018

Искал, как связать небольшую программу, которая ссылается на DataWriter

Моя программа ссылается на другие объекты (например, класс winrt :: Windows :: Devices :: Bluetooth). Так что я знаю, что он не полностью сломан.

У меня есть эти две библиотеки в верхней части моего cpp-файла, в котором есть все, что нужно связать, пока я не начал использовать DataWriter.

#pragma comment(lib, "oleaut32")
#pragma comment(lib, "runtimeobject")

он компилируется нормально, но я понятия не имею, какую библиотеку включить. Справочные документы MS, по-видимому, не упоминают библиотеки, с которыми вам нужно связаться, чтобы использовать их:

https://docs.microsoft.com/en-us/uwp/api/windows.storage.streams.datawriter

Я попытался найти (используя dumpbin) все библиотеки в моей системе, прежде чем публиковать здесь.

auto writer = DataWriter();
writer.WriteString(L"HEREIAM");

EDIT: добавлена ​​фактическая ошибка компоновщика:

error LNK2001: unresolved external symbol "public: __cdecl winrt::Windows::Storage::Streams::DataWriter::DataWriter(void)" (??0DataWriter@Streams@Storage@Windows@winrt@@QEAA@XZ)
error LNK2001: unresolved external symbol "public: unsigned int __cdecl winrt::impl::consume_Windows_Storage_Streams_IDataWriter<struct winrt::Windows::Storage::Streams::IDataWriter>::WriteString(struct winrt::param::hstring const &)const " (?WriteString@?$consume_Windows_Storage_Streams_IDataWriter@UIDataWriter@Streams@Storage@Windows@winrt@@@impl@winrt@@QEBAIAEBUhstring@param@3@@Z)

Если есть какой-то другой способ создания буфера с WinRT, это тоже будет хорошо.

1 Ответ

0 голосов
/ 29 августа 2018

Единственная необходимая вам библиотека - это «windowsapp.lib», хотя другие подойдут для настольных / консольных приложений. Когда вы получаете такую ​​ошибку компоновщика, это означает, что вам не удалось включить необходимый заголовок, который содержит отсутствующее определение. Попробуйте включить "winrt / Windows.Storage.Streams.h".

Вот больше информации из FAQ .

...