ねえ、私はこのC++プログラムのコンパイルしようとしている人々:私はおそらく試してみましたC++プログラムをコンパイルする "LogonUser"というリンクエラー?
Validate.obj : error LNK2019: unresolved external symbol [email protected]
referenced in function [email protected]
Validate.dll : fatal error LNK1120: 1 unresolved externals
:私は常に次のエラーを取得するしかし
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"
:このコマンドを使用して
#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;
}
をLIBPATHスイッチを使って演奏をコンパイルする方法は数千種類あります。
-link -LIBPATH:"C:\Program Files\Microsoft Visual Studio 8\VC\lib";"C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib"
などがあります。
[更新]私はlibにパスを中心に切り替え、私はこのエラーを取得します "\ VC \ libに" スイッチの前に "\ PlatformSDK \ libに" を入れた場合:それは今、他のを認識できないbecuase
LINK : fatal error LNK1104: cannot open file 'uuid.lib'
libpath。何か案が? [/更新]
複数のlibpathを宣言するにはどうすればよいですか?これを引き起こす何か他に何かありますか?いつものように
、おかげでみんな
フォルダウィッヒ私には、しようとしています。問題は複数のlibpathを宣言する必要があるという事実と関係していると思います。 –
Advapi32をコマンドラインに組み込む方法を知っていますか? –
チャームのように働いた、ありがとう、百万 –