2010-04-22 2 views
1

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

Как сказано в статье, я определил _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, то же ошибки там тоже!).

ответ

2

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

+0

О, хорошо ... Я использую его на Windows-XP. Спасибо большое :) – Microkernel

Смежные вопросы