Ottengo LNK2028 quando si cerca di avvolgere nativo C ++ classe utilizzando Managed C ++
-
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
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!?