このコードに問題があり、既存の .lib (CryptoLib.lib) からラッパー関数を作成しています。
mycode.ccp
#include "stdafx.h"
#pragma managed(push, off)
#include "CryptoLib.h"
#pragma comment (lib, "CryptoLib.lib")
#pragma managed(pop)
using namespace System;//This is a C++-CLI project.
__declspec(dllexport) void Encrypt(unsigned char *Data, unsigned char *RandomNr)
{
CryptoLib_Encrypt(Data, RandomNr);
}
cryptolib.h
#ifndef _CRYPTOLIB_H_
#define _CRYPTOLIB_H_
#define PUBLIC
//This procedure is written in c++ code
extern void CryptoLib_Encrypt(unsigned char *Data, unsigned char *RandomNr);
#endif /* _CRYPTOLIB_H_ */
cryptolib.h と cryptolib をリンクしましたが、「未解決のトークン Cryptolib_Encrypt」エラーと「未解決の外部シンボル Cryptolib_Encrypt」エラーが引き続き発生します。
誰でも理由を教えてもらえますか?
助けてくれてありがとう
正確なエラー メッセージ:
error LNK2028: unresolved token (0A000006) "void __cdecl CryptoLib_Encrypt(unsigned char *,unsigned char *)" (?CryptoLib_Encrypt@@$$FYAXPAE0@Z) referenced in function "void __cdecl Encrypt(unsigned char *,unsigned char *)" (?Encrypt@@$$FYAXPAE0@Z)
error LNK2019: unresolved external symbol "void __cdecl CryptoLib_Encrypt(unsigned char *,unsigned char *)" (?CryptoLib_Encrypt@@$$FYAXPAE0@Z) referenced in function "void __cdecl Encrypt(unsigned char *,unsigned char *)" (?Encrypt@@$$FYAXPAE0@Z)
error LNK1120: 2 unresolved externals
コマンドラインはDumpbin.exe /exports
ただ
しかし、構成プロパティ/「C/C++」/一般にC/C++追加インクルードディレクトリを追加し、構成プロパティCryptolib.lib
/リンカー/入力に追加の依存関係()を追加しました