Ottengo LNK2028 quando si cerca di avvolgere nativo C ++ classe utilizzando Managed C ++

StackOverflow https://stackoverflow.com/questions/721387

  •  05-09-2019
  •  | 
  •  

Domanda

cercando di avvolgere una classe cpp nativa utilizzando classe C ++ gestita.

tutto sembra buona, ma per qualche motivo non ci vorrà compilazione.

ottenendo i seguenti errori di linker:

Errore 25 error LNK2028: Token irrisolto (0A0002CE) Errore 27 Errore LNK2019: simbolo esterno non risolto

Tutte le idee come posso risolvere questo? : \

bene, ecco un errore completo di una delle funzioni:

Errore 20 Errore LNK2028: Token irrisolto (0A0002CF) "pubblico: bool __thiscall RCSclient :: ResumeChannel (char *, int, __ Int64)" (ResumeChannel @ RCSclient @@ $$ FQAE_NPADH_J @ Z?) Fa riferimento in funzione "pubblica: bool __clrcall RCSClientWrapper :: :: RCSclientWrapper ResumeChannel (classe System :: String ^, int, classe System :: DateTime ^)"(? ResumeChannel @ @ RCSclientWrapper RCSClientWrapper @@ $$ FQ $ AAM_NP $ AAVString @ sistema @@ HP $ AAVDateTime @ 4 @@ Z) RCSClientWrapper.obj RCSClientWrapper

è tentato di aggiungere l'user32.lib senza risultati ..

Ofer

È stato utile?

Soluzione

C ++ / CLI consente a mescolare in C ++ nativo praticamente a piacimento, ma usando C ++ / CLI rende la vostra applicazione dipendere dal framework .NET.

Il motivo è il vostro progetto C ++ / CLI non ha alcune librerie (user32.lib, nell'esempio) di installazione in ingresso linker è che il framework .NET fornisce già servizi simili, e la IDE presuppone che si preferisce quelli per i più grandi, nativo.

Controlla il tuo progetto e aggiungere riferimento alla libreria corrispondente.

Altri suggerimenti

Forse ha dimenticato una parola chiave virtuale nella dichiarazione di funzione nativa C ++ intestazione chiamare da wrapper gestito!?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top