所以我一直在研究一个小应用程序,在某些运行中运行一个应用程序作为另一个用户,我用C编写它并使用MinGW GCC编译器来编译和链接它。我的问题是每当我尝试使用WINAPI函数CreateProcessWithLogonW()时,我会收到一条错误,上面写着“对CreateProcessWithLogonW()的未定义引用。”
尽管我在编译它时链接了Advapi32,但
gcc file.c -lAdvApi32 -o filename
答案 0 :(得分:2)
正确的解决方案是实际#include正确的mingw32标头:即
#include <windows.h>
尽管Anthales提出的解决方案有效,但它不能很好地扩展。
答案 1 :(得分:0)
尝试直接链接到相关的dll,如下所示:
gcc file.c%windir%\ system32 \ advapi32.dll -o filename
当您使用交换机-lAdvApi32时,您将从MinGW / lib链接libadvapi32.a。可悲的是,我无法回答为什么这不起作用;也许这个lib已经过时,或者具有完全不同的含义