Неопределенная ссылка на CreateProcessWithLogonW - PullRequest
1 голос
/ 27 марта 2012

Итак, я работал над небольшим приложением, которое при некоторых запусках запускает приложение от имени другого пользователя, я пишу его на C и использую компилятор MinGW GCC для компиляции и компоновки.Моя проблема заключается в том, что всякий раз, когда я пытаюсь использовать функцию WINAPI CreateProcessWithLogonW (), я получаю сообщение об ошибке «Неопределенная ссылка на CreateProcessWithLogonW ().»

Это несмотря на то, что я связываю Advapi32, когда яскомпилируйте это так,

gcc file.c -lAdvApi32 -o filename

Ответы [ 2 ]

2 голосов
/ 28 апреля 2012

Правильное решение состоит в том, чтобы фактически # включить правильные заголовки mingw32: т.е.

#include <windows.h>

Хотя решение, предложенное Anthales, работает, оно плохо масштабируется.

0 голосов
/ 27 марта 2012

Попробуйте напрямую связать с dll, например:

gcc file.c% windir% \ system32 \ advapi32.dll -o имя файла

Когда вы используете вместо этого ключ -lAdvApi32, вы будете связывать с libadvapi32.a из MinGW / lib. К сожалению, я не могу ответить, почему это не сработает; может быть, эта библиотека устарела или имеет совершенно другое значение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...