- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好,我正在尝试编译这个 C++ 程序:
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <Windows.h>
#include "Validate.h"
JNIEXPORT jstring JNICALL Java_Validate_takeInfo(JNIEnv *env, jobject obj,
jstring domain, jstring id, jstring idca, jstring password)
{
const char *nt_domain;
const char *nt_id;
const char *nt_idca;
const char *nt_password;
nt_domain = env->GetStringUTFChars(domain, NULL);
nt_id = env->GetStringUTFChars(id, NULL);
nt_idca= env->GetStringUTFChars(idca, NULL);
nt_password = env->GetStringUTFChars(password, NULL);
HANDLE hToken = 0;
char *otherString;
bool aut;
aut = LogonUser(nt_id, nt_domain, nt_password, LOGON32_LOGON_NETWORK,
LOGON32_PROVIDER_DEFAULT, &hToken );
if(aut)
{
otherString = "true";
}
else
{
otherString = "false";
}
jstring newString = env->NewStringUTF((const char*)otherString);
return newString;
}
int main()
{
return 0;
}
使用这个命令:
cl -I"c:\Program files\Java\jdk1.5.0_07\include"
-I"C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include"
-I"c:\program files\java\jdk1.5.0_07\include\win32"
-LD D:\JNI\%filename%.cpp -D:\JNI\Fe%filename%.dll -link
-LIBPATH:"C:\Program Files\Microsoft Visual Studio 8\VC\lib"
-LIBPATH:"C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib"
但是我总是得到以下错误:
Validate.obj : error LNK2019: unresolved external symbol __imp__LogonUserA@24
referenced in function _Java_Validate_takeInfo@24
Validate.dll : fatal error LNK1120: 1 unresolved externals
我可能已经尝试过上千种不同的方式来使用 LIBPATH 开关进行编译。
-link -LIBPATH:"C:\Program Files\Microsoft Visual Studio 8\VC\lib";"C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib"
和许多其他人。
[更新] 如果我切换 lib 路径并将“\PlatformSDK\lib”放在“\VC\lib”开关之前,我会收到此错误:
LINK : fatal error LNK1104: cannot open file 'uuid.lib'
因为它现在无法识别其他 libpath。任何想法? [/更新]
如何声明多个库路径?是否还有其他原因导致此问题?
一如既往,谢谢大家
最佳答案
MSDN表示 LogonUser
在 Advapi32.lib 中。看起来问题是您没有包含 Advapi32.lib。 LIBPATH 影响链接器搜索库的位置,而不是链接器搜索的库,并且您没有告诉链接器搜索 Advapi32.dll。
在 Visual C++ 2008 上,您应该能够通过在“项目”、“属性”、“配置属性”、“链接器”、“附加依赖项”下进行包含 Advapi32.lib。我不确定其他版本。)
在命令行中,您应该能够将 Advapi32.lib 列为要链接的附加文件。试试这个:
cl -I"c:\Program files\Java\jdk1.5.0_07\include"
-I"C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include"
-I"c:\program files\java\jdk1.5.0_07\include\win32"
-LD D:\JNI\%filename%.cpp -D:\JNI\Fe%filename%.dll -link
-LIBPATH:"C:\Program Files\Microsoft Visual Studio 8\VC\lib"
-LIBPATH:"C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib"
Advapi32.lib
关于c++ - 链接错误 "LogonUser"编译C++程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/997602/
我需要使用 C# 模拟用户。我使用 LogonUser Win32 API。当模拟来自与当前登录用户相同的域的用户时,这工作正常。但是,当我尝试模拟来自其他域的用户时,得到的响应是“false”。 什
我正在打电话LogonUser尝试验证一组凭据: LogonUser("forest", "avatopia.com" "stapler", LOGON32_LOGON_NETWOR
我们正在尝试“锁定”一台计算机,以便我们拥有一个只有很少权限的 Windows XP 通用登录帐户。然后我们的软件通过一个启动器启动,该启动器以更高权限的用户身份运行它,允许它访问文件系统。 然后,运
我只是想知道如何在我的 C++ 程序中获取导致 LoginUser 函数失败的错误并将其作为字符串返回? JNIEXPORT jstring JNICALL Java_com_entrust_admi
LogonUser 函数 http://msdn.microsoft.com/en-us/library/aa378184(VS.85).aspx返回一个句柄,你可以用它来模拟用户,当你使用完它时,你
我很难找到有关此方法的大量信息,所以我想我应该在这里问问,看看你们这些优秀的人是否可以提供帮助。 我们基本上拥有的是...... [DllImport("advapi32.dll", SetLastE
bool bRet=LogonUser(strUserName, L"", strPassword, LOGON32_LOGON_TYPE_NEW_CREDENTIALS, LOGON32_PROVI
我在使用 C++ 中的 LogonUser() API 函数时遇到一些问题。我正在测试的计算机不在域中。我正在测试的帐户存在于计算机上,但当我提供无效域时,它会验证登录。 这对我来说似乎不对。 HAN
我们正在开发具有内部用户帐户系统的应用程序,但希望能够使用来自 Active Directory 和/或 Windows 帐户的凭据。为此,我们将用户 SID 存储在应用程序用户表的一个字段中。我们的
我已经阅读了 Stack Overflow 上关于 CreateProcessAsUser 的所有帖子,但很少有已解决的问题,所以我不会在这个问题上屏住呼吸。但似乎我肯定遗漏了一些东西,所以这可能很容
我一直在尝试使用 LogonUser(...) 获取用户帐户的访问 token ,如 this MSDN sample . // Call LogonUser to obtain a handle t
我正在开发一个 C++ 应用程序,这个应用程序作为 Windows 服务运行。我需要模拟当前用户来访问网络位置,为此我使用 Windows API LogonUser 和 ImpersonateLog
ASP.NET: Impersonate against a domain on VMWare 这个问题是我问的,但是答案没有提供_token是如何派生的细节。它似乎只使用 WindowsIdenti
所以在两台机器之间,没有信任——它们在不同的域中。 我已使用登录类型 LOGON32_LOGON_NEW_CREDENTIALS 使用 LogonUser API 成功连接到远程计算机。我能够使用 U
我使用模拟机制来管理远程机器上的服务我可以在 RDP session 中使用我的用户名和密码连接到该机器并手动启动/停止服务。我还设法通过在模拟语句中使用 IntPtr.Zero token 的代码启
是否有一些标志系列允许 LogonUser 在计算机未连接到网络时返回可用于模拟本地用户的 token (但所有帐户都已在本地存在)。 我有执行应用程序的域帐户 MYDOMAIN\FooUser 我正
我正在尝试使用 this code从我的本地计算机 (Windows 8.1) 登录到受限网络共享(在头节点上使用 Windows Server 2012),但我似乎无法让它工作。 两台机器都在同一个
谁能帮我解决这个问题?我试图使用所需的凭据登录到 portal.microsoftonline.com,但它给我带来了错误。是我的网址有误还是什么?因为我试图模仿并赋予用户角色。谢谢,顺便说一句,我是
你可以用 token 做什么 LogonUser返回?它的用途是什么? BOOL LogonUser( __in LPTSTR lpszUsername, __in_opt LPT
大家好,我正在尝试编译这个 C++ 程序: #include #include #include #include #include #include "Validate.h" JNI
我是一名优秀的程序员,十分优秀!