#include "MSCorEE. H" gondok, mi a baj?
ezen a weboldalon van egy leírás, ami lépésről lépésre bemutatja hogyan lehet c#-ban írt dll-t egy c++os bootstrapper segítségével injektálni egy programba.Nekem az a gondom hogy a c++os dll-t nem sikerül létrehozni, win 7-et használok, Codeblocksban új projekt-->dll ,kitöröltem a header file, az adott forrást pedig bemásoltam a cpp fileba,lefordítai viszont nem sikerül.Ez a hibaüzenet:
main.obj||error LNK2019: unresolved external symbol _CorBindToRuntimeEx@24 referenced in function "void __cdecl StartTheDotNetRuntime(void)" (?StartTheDotNetRuntime@@YAXXZ)|
bin\Debug\test2.dll||fatal error LNK1120: 1 unresolved externals|
||=== Build finished: 2 errors, 0 warnings ===|
Tudtok segíteni hogy hogyan hozzam létre c++ban a dll-t?Köszi előre is a válaszokat!
itt a cpp: #include "MSCorEE.h"
void StartTheDotNetRuntime()
{
ICLRRuntimeHost *pClrHost = NULL;
HRESULT hr = CorBindToRuntimeEx(NULL, L"wks", 0, CLSID_CLRRuntimeHost,IID_ICLRRuntimeHost, (PVOID*)&pClrHost);
hr = pClrHost->Start();
DWORD dwRet = 0;
hr = pClrHost->ExecuteInDefaultAppDomain(L"c:\\Injektalt.dll",L"Class1", L"InjektaltEljaras", L"param", &dwRet);
// Optionally stop the CLR runtime (we could also leave it running)
hr = pClrHost->Stop();
// Don't forget to clean up.
pClrHost->Release();
}
Bármilyen megoldás hogy hogyan tudnék c#ban írt dll-t injektálni segítene, de sztem csak valami apróságon múlik hogy ez nem akar működni. A hibaüzenet, ami asszem hasonló az előzőhöz, de a biztonság kedvéért:
main.obj||error LNK2019: unresolved external symbol _CorBindToRuntimeEx@24 referenced in function "void __cdecl StartTheDotNetRuntime(void)" (?StartTheDotNetRuntime@@YAXXZ)|
bin\Debug\test2.dll||fatal error LNK1120: 1 unresolved externals|
||=== Build finished: 2 errors, 0 warnings ===|
igen, biztos valami apróságon múlik hgy nem tudd lefordítani...
sajnos nincs jó öltetem, próbáltad már úgy hogy visszarakos ezt a sort:
using namespace std;
A konkrét hiba elemzésébe nem mászom bele, viszont itt egy segédlet, hogyan hozz létre DLL-t C++ ban:
A szintaxis szerintem ugyanaz GCC-vel is, de egyébként win alatt a VC++ szerintem jobb.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!