2012-01-31 13 views
7

Ho una semplice applicazione di console nativa ++ in Visual C++.Come utilizzare NLog in C++?

Per poter utilizzare NLog c'è una modalità mista " "NLogC.dll"

  • Come posso aggiungere "NLogC.dll" per la mia applicazione
  • e utilizzare per la registrazione?

Semplicemente come posso utilizzare NLog in un'applicazione C++ nativo?

risposta

10

NLog include un hea der file (NLogC.h) e libreria di importazione (NLogC.lib). Questi dovrebbero essere usati per usare la libreria.

Aggiungere il percorso al file di inclusione (ad esempio C:\Program Files (x86)\NLog\.NET Framework 4.0\NLogC\include) al percorso di inclusione, globalmente o solo per il progetto. È possibile specificarlo nelle proprietà del progetto in "Directory di inclusione aggiuntive" in Proprietà di configurazione, C/C++, Generale. Aggiungi il percorso al file della libreria (ad esempio C:\Program Files (x86)\NLog\.NET Framework 4.0\NLogC\x86; assicurati di selezionare x86 o x64 in base all'architettura che stai targeting) al percorso della libreria ("Directory di libreria aggiuntive" in Proprietà di configurazione, Linker, Generale).

Aggiungere il file NLogC.lib alle librerie del progetto (aggiungerlo a "Dipendenze aggiuntive" in Proprietà di configurazione, Linker, Input).

Quindi, è possibile utilizzare l'API in questo modo:

#include <cstdarg> // Needed for va_list type, which NLogC.h requires 
#include <NLogC.h> 

int main() 
{ 
    NLog_Info(L"Test", L"TestMessage"); 

    return 0; 
} 

assicuratevi di mettere NLogC.dll, NLog.dll, e un file di configurazione adatto nella stessa directory del file eseguibile.

Si noti che questo è destinato in realtà solo quando si dispone di componenti nativi come parte di un'applicazione gestita di dimensioni maggiori o se si passa da nativo a gestito. Se la tua applicazione è in C++ puro, ci sono probabilmente librerie di registrazione native più adatte che non richiedono il caricamento del CLR solo per fare il logging.