Я пытаюсь скомпилировать программу на C с использованием компилятора Intel icl в MINGW/64. Программа использует следующий код:GetUserName под Win64
#include <Userenv.h>
HANDLE process;
HANLDE token;
GetUserProfileDirectory(process, TOKEN_QUERY, &ptoken)
Я использую следующую команду компиляции:
$ icl -g -DMINGW32 -DTESTMAIN user.c -o user -UserEnv.Lib
и я связывая против UserEnv.Lib из Microsoft SDK.
Intel (R) C++ Intel (R) 64 Compiler XE для приложений, работающих на Intel (R) 64, версия Microsoft (R) Растущие Linker Версия 9.00.21022.08 отъезда: User.exe user.obj
user.obj : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryA referenced in function main
Любая идея, как решить эту проблему?
РЕШЕНИЕ:
Решение заключается в использовании
/ссылка/с/Program \ Files/Microsoft \ SDKs/Windows/v6.0A/Lib/x64/UserEnv.Lib/с/Program \ файлы/Microsoft \ SDKs/Windows/v6.0A/Lib/x64/A
Я скопировал файл UserEnv.lib из Microsoft SDK (x64, 6,0) в текущий рабочий каталог и откомпилировать программу с
$ icl test.c -DMINGW32 ./UserEnv.Lib
LNK2019: неразрешенный внешний символ __imp_GetUserNameA ссылка в функции главного test.obj: LNK2019 Ошибка: неразрешенный внешний символ __imp_OpenProcessToken ссылка в функции главного test.obj: LNK2019 Ошибка: неразрешенный внешний символ -
и я все еще получаю неразрешенные символы.
Olaf
Я пытался связать Побейте с UsderEnv Lib от – Olaf
Я скопировал файл UserEnv.lib из Microsoft SDK (x64, 6.0) в текущий рабочий каталог и скомпилировал программу с помощью – Olaf
. Я скопировал файл UserEnv.lib из Microsoft SDK (x64, 6.0) в текущий рабочий каталог и скомпилировал программу с помощью $ icl test.c -DMINGW32 UserEnv.Lib icl: ПРИМЕЧАНИЕ. Оценка n период для этого продукта заканчивается на UTC 10-дек-2010. test.c test.obj: Ошибка LNK2019: неразрешенный внешний символ __imp_GetUserNameA ссылки в функции главного test.obj: ошибки LNK2019: неразрешенный внешний символ __imp_OpenProcessToken ссылки в функции главного test.obj: ошибки LNK2019: неразрешенный внешний символ – Olaf