Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    18

    [C++] Creare DLL che richiede altre DLL

    Ciao a tutti,

    sto cercando di creare una DLL C++ che dato un file xml lo elabori e mi restituisca determinati valori in base al contenuto del file.

    La mia dll prende in input il percorso di un file xml, lo passa ad un parser xml, TinyXml, ne elabora il contenuto e mi restituisce un determinato valore di output.

    Per creare la mia dll necessito di:

    - una file .h con la dichiarazione della funzione visibile dall'esterno,

    - un file .cpp con l'implementazione di tale funzione,

    - alcuni file (.h e .cpp) per effettuare il parsing del file xml.


    Successivamente creo un progettino per testare se la dll funziona. Ho fatto i seguenti passi:

    - creato file main.cpp in cui includo il file .h contenente la mia libreria,

    - copiato i file .dll .lib .h nella cartella del progetto di test

    - inserito il linker al file .lib


    Fatto ciò mi da i seguenti errori:


    Errore 1 error LNK2019: riferimento al simbolo esterno _main non risolto nella funzione ___tmainCRTStartup C:\CPP\xmlTEST\xmlTEST\MSVCRTD.lib(crtexe.obj) xmlTEST

    Errore 2 error LNK1120: 1 esterni non risolti C:\CPP\xmlTEST\Debug\xmlTEST.exe xmlTEST




    Cosa mi sfugge o mi sono dimenticato di fare?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Puoi mostrare tutto il codice del programma di test (xmlTEST) ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    18
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Puoi mostrare tutto il codice del programma di test (xmlTEST) ?
    Eccolo qua:

    codice:
    #include "xlmH.h"
    #include <iostream>
    using namespace std;
    
    
    namespace xml {
        int main()
        {
            char file[] = "C:\\CPP\\test.xml";
    
    
            int matrix[30][7];
            int linea[3];
            int xmlCount = 0;
            int r = xmlclass::xmlParse(matrix,linea,xmlCount,file);
    
    
            cout << "Output: " + r;
            system("PAUSE");
    
    
            return 0;
        }
    }

    Questo è il file xmlH.h:

    codice:
    namespace xml{
        class xmlclass
        {
        public:
            static __declspec(dllexport) int xmlParse(int matrix_xml[][7], int* linea, int &xmlCount, char file[]);
        
        };
    
    
    }

    matrix: è un matrice in cui vengono memorizzati dei valori di alcune macchine. Possono essere al massimo 30 ed hanno 7 parametri.

    xmlCount: inidica il numero effettivo di macchine che ci sono nel file xml

    linea: indica 3 parametri che dovrò andare ad utilizzare in output

    file: contiene il nome del file xml da parsare con le librerie TinytXml

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ma che tipo di progetto hai usato esattamente per la DLL e per il test ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    18
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Ma che tipo di progetto hai usato esattamente per la DLL e per il test ?
    Per la dll ho messo Tipo di applicazione: DLL e Progetto vuoto

    Per il test Tipo di applicazione: Applicazione Console e sempre Progetto vuoto.

    Vanno bene?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Quote Originariamente inviata da Baiso Visualizza il messaggio
    Per la dll ho messo Tipo di applicazione: DLL e Progetto vuoto

    Per il test Tipo di applicazione: Applicazione Console e sempre Progetto vuoto.

    Vanno bene?
    No ... mi sa che devi prevedere applicazione Windows DLL e applicazione Windows ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    18
    Quote Originariamente inviata da oregon Visualizza il messaggio
    No ... mi sa che devi prevedere applicazione Windows DLL e applicazione Windows ...

    Ok, perfetto! ora funziona tutto.. grazie..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.