Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > error LNK2019


Автор: Barabeo 23.10.2012, 08:17
Не могу понять в чем ошибка.


Ошибка    1    error LNK2019: ссылка на неразрешенный внешний символ _NetUserAdd@16 в функции _wmain    iii.obj    iii
Ошибка    2    fatal error LNK1120: 1 неразрешенных внешних элементов    C:\Users\Adm\Documents\Visual Studio 2008\Projects\iii\Debug\iii.exe    iii


Код

#ifndef UNICODE
#define UNICODE
#endif

#pragma comment(lib, "netapi32.lib")

#include "stdafx.h"
#include <windows.h>
#include <lm.h>
#include <stdio.h>


int wmain(int argc, wchar_t* argv[])
{
    USER_INFO_1 ui;
    DWORD dwLevel = 1;
    DWORD dwError = 0;
    NET_API_STATUS nStatus;

 if (argc != 3)

   {
      fwprintf_s(stderr, L"Usage: %s \\\\ServerName UserName\n", argv[0]);
      wprintf(L"Example: %s \\\\MikeServer Smith\n", argv[0]);
      exit(1);
   }

   ui.usri1_name = argv[2];
   ui.usri1_password = argv[2];
   ui.usri1_priv = USER_PRIV_USER;
   ui.usri1_home_dir = NULL;
   ui.usri1_comment = NULL;
   ui.usri1_flags = UF_SCRIPT;
   ui.usri1_script_path = NULL;

   nStatus = NetUserAdd(argv[1],dwLevel,(LPBYTE)&ui,&dwError);

   if (nStatus == NERR_Success)
   {
         wprintf(L"NetUserAdd() is OK!\n");
         fwprintf_s(stderr, L"User %s has been successfully added on %s\n",argv[2], argv[1]);
   }

   else
   {
         wprintf(L"NetUserAdd() failed!\n");
         fwprintf_s(stderr, L"A system error has occurred: %d\n", nStatus);
   }
    
    return 0;
}


Причем насколько я понял ошибка вот в этой строке:
Код

nStatus = NetUserAdd(argv[1],dwLevel,(LPBYTE)&ui,&dwError);

Что здесь не так?

Автор: GremlinProg 23.10.2012, 08:25
Цитата(Barabeo @  23.10.2012,  10:17 Найти цитируемый пост)
Что здесь не так?

https://www.google.ru/search?q=unresolved+external+symbol+_NetUserAdd%4016&
первая же ссылка

Автор: Barabeo 23.10.2012, 08:48
Так у меня все либы и инклюды прикручены:
netapi32.lib
user32.lib

#include "stdafx.h"
#include <windows.h>
#include <lm.h>
#include <stdio.h>
#include <Lmaccess.h>

Но я так и не понял что не хватает.

Автор: Dem_max 23.10.2012, 11:45
Так и хочется сказать что ошибка в тебе  smile 
Но все же как то странная ошибка.
Попробуй скомпилить пример отсюда
http://msdn.microsoft.com/en-us/library/windows/desktop/aa370649(v=vs.85).aspx

Автор: feodorv 23.10.2012, 18:00
Пересоздайте проект. Всё компилируется ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)