Im работает над программой, которая должна открыть почтовый клиент по умолчанию для отправки сообщения с вложением. Я нахожусь на Windows x64 (8.1)
, используя VS2012
, здание для x64
. Я решил правильно использовать MAPISendMailW
.Ссылка на MAPISendMailW?
Я добавил MAPI32.lib
в настройках проекта (Linker->AdditionalDependencies
), а также здания с /VERBOSE:LIB
показывает, что он пытается найти MAPISendMailW
в MAPI32.lib
. Тем не менее я получаю
error LNK2019: unresolved external symbol MAPISendMailW referenced in function ...
Итак, наконец, я проверил содержание MAPI32.lib через
dumpbin.exe -headers MAPI32.lib >> to_some_textfile.txt
и - о, хорошо - нет MAPISendMailW
.
Что мне нужно сделать, чтобы использовать MAPISendMailW
?
Спасибо у ou - Win8SDK, но я уже работаю над Win10. Тем не менее: он берет заголовки и библиотеку импорта непосредственно из Win8SDK. Я также считаю это очень странным, поэтому я думаю, что лучшим вариантом будет 'LoadLibrary/GetProcAddress'. – St0fF
P.S .: см. 'C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Include \ um \ MAPI.h' в http://pastebin.com/kqUfMUB8 - Строка 139ff: объявление структуры; Строки 263ff: определение закрытия, определение типа, объявление функции – St0fF
Я установил W8SDK. После просмотра [MSDN doc] (https://msdn.microsoft.com/en-us/library/hh802867 (v = vs.85) .aspx) (нет файла .lib, упомянутого в разделе _Requirements_), а также в в файле заголовка я заметил, что функция определена как указатель (точно так же, как я ее определил), поэтому его можно использовать таким образом. Итак, включите 'MAPI.h' для всего определения, тогда' MAPI32.lib' не требуется (по крайней мере для этого func), но вместо этого используйте динамическую загрузку. – CristiFati