Ошибка компоновщика с RegSetKeyValue - PullRequest
1 голос
/ 22 апреля 2010

Я использую API "RegSetKeyValue" в своем приложении. Я имею в виду http://msdn.microsoft.com/en-us/library/ms724921(VS.85).aspx.

Как сказано в статье, я определил _WIN32_WINNT_ как 0x0600 и включил Advapi32.lib в мои параметры компоновщика.

Но все же я получаю ошибку компоновщика, "неразрешенный внешний символ _RegSetKeyValue". Пожалуйста, скажите мне, что мне здесь не хватает.

Вот мой фрагмент кода.

#define _WIN32_WINNT  (0x0600)

#include <windows.h>

int main()
{
    LONG status;

    status = RegSetKeyValue( HKEY_LOCAL_MACHINE,
                             "SOFTWARE\\7-Zip",
                             "path",
                             REG_SZ,
                             "C:\\newfolder\\path",
                             strlen("C:\\chethan\\path")+1);
    return 0;
}

PS: я использую VC ++ 6.0 для этого (даже пробовал на Visual studio 2005, там тоже такая же ошибка!).

1 Ответ

2 голосов
/ 22 апреля 2010

Файл Advapi32.lib, который использует ваш компоновщик, может быть слишком стар - этот API был представлен в Vista. Убедитесь, что компоновщик использует .lib из Vista SDK или новее.

...