LNK2019 не может использовать GetStagedPackageOrigin () - PullRequest
0 голосов
/ 17 января 2019

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

Но моя программа не компилируется из-за неразрешенной внешней ошибки.

Ошибка LNK2019: неразрешенный внешний символ __imp__GetStagedPackageOrigin @ 8, указанный в функции "void __cdecl check (wchar_t const *)" (? Check @@ YAXPB_W @ Z) * ​​1007 *

Вот мой код:

void check(__in PCWSTR fullName)
{ 
    PackageOrigin origin;
    LONG rc = GetStagedPackageOrigin(fullName, &origin);
    if (rc == ERROR_SUCCESS)
    {
        static PCWSTR originstring[] = {L"Unknown",L"Unsigned",L"Inbox",L"Store",L"DeveloperUnsigned",L"DeveloperSigned",L"LineOfBusiness" };
        PCWSTR str = originstring[origin];
        wcout << str << endl;
    }
}

Почему эта ошибка продолжает появляться и есть ли способ ее исправить?

1 Ответ

0 голосов
/ 17 января 2019

Я использовал команду dumpbin в командной строке visual studio, и эта функция не экспортировалась из kernel32.dll. Функция не присутствовала в dll в первую очередь. Я думаю, именно поэтому произошла ошибка.

...