Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 9 von 9

Thema: Libnodave mit VS2008 C++

  1. #1
    Registriert seit
    01.05.2010
    Beiträge
    27
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich hab ein Problem mit den libnodave C Headern.
    Ich hab ein kleines Testprogramm, welches ich unter Visual Studio 2008 mit C++
    erstellt habe. Da die Quelldateien in C geschrieben wurden habe ich den Quelltext (siehe unten) leicht verändern müssen. Der Kompiler meckert beim
    Übersetzen auch nicht nur der Linker bricht mit den folgenden Meldungen ab.

    Code:
    1>Verknüpfen...
    1>nodaveRohling.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__daveDisconnectAdapter@4" in Funktion "_main".
    1>nodaveRohling.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__daveDisconnectPLC@4" in Funktion "_main".
    1>nodaveRohling.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__daveGetFloat@4" in Funktion "_main".
    1>nodaveRohling.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__daveGetS32@4" in Funktion "_main".
    1>nodaveRohling.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__daveReadBytes@24" in Funktion "_main".
    1>nodaveRohling.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__daveConnectPLC@4" in Funktion "_main".
    1>nodaveRohling.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__daveNewConnection@16" in Funktion "_main".
    1>nodaveRohling.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__daveInitAdapter@4" in Funktion "_main".
    1>nodaveRohling.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__daveNewInterface@24" in Funktion "_main".
    1>nodaveRohling.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__setPort@12" in Funktion "_main".
    1>C:\Users\Administrator\Documents\Visual Studio 2008\Projects\nodaveRohling\Debug\nodaveRohling.exe : fatal error LNK1120: 10 nicht aufgelöste externe Verweise.
    1>Das Buildprotokoll wurde unter "file://c:\Users\Administrator\Documents\Visual Studio 2008\Projects\nodaveRohling\nodaveRohling\Debug\BuildLog.htm" gespeichert.
    1>nodaveRohling - 11 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    Hier mein Quellcode:

    [HTML]#include <stdio.h>
    #include "stdafx.h"


    extern "C"{
    #define BCCWIN
    #define LITTLEENDIAN
    }
    extern "C"{
    #include "nodave.h"
    }
    extern "C"{
    #include "setport.h"
    }

    extern "C"{
    int main(int argc, char **argv) {
    int a,b,c,
    localMPI, plcMPI;
    float d;
    daveInterface * di;
    daveConnection * dc;
    _daveOSserialType fds;

    localMPI=0;
    plcMPI=2;

    // daveDebug=daveDebugAll;

    fds.rfd=setPort(argv[1],"38400",'O');
    fds.wfd=fds.rfd;

    di =daveNewInterface(fds, "IF1", localMPI, daveProtoMPI, daveSpeed187k);
    di ->timeout=5000000;

    daveInitAdapter(di);

    dc =daveNewConnection(di,plcMPI,0,0); // insert your MPI address here
    printf("ConnectPLC\n");

    daveConnectPLC(dc);

    daveReadBytes(dc, daveFlags, 0, 0, 16,NULL);

    a=daveGetS32(dc);
    b=daveGetS32(dc);
    c=daveGetS32(dc);
    d=daveGetFloat(dc);

    printf("FD0: %d\n",a);
    printf("FD4: %d\n",b);
    printf("FD8: %d\n",c);
    printf("FD12: %f\n",d);

    printf("Now disconnecting\n");
    daveDisconnectPLC(dc);
    daveDisconnectAdapter(di);

    return 0;
    }
    }
    [/HTML]

    Hat vielleicht von Euch jemand eine Lösung für das Problem ?

    Danke schon mal im vorraus
    Ich bin wie ich bin. Die einen kennen mich die anderen können mich.

    Konrad Adenauer
    Zitieren Zitieren Libnodave mit VS2008 C++  

  2. #2
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Links du denn auch gegen die LibNoDave?
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Linken...  

  3. #3
    Registriert seit
    01.05.2010
    Beiträge
    27
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Leider verstehe ich deine Antwort glaube ich nicht genau. Sorry
    Ich bin wie ich bin. Die einen kennen mich die anderen können mich.

    Konrad Adenauer

  4. #4
    Registriert seit
    01.05.2010
    Beiträge
    27
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hier das Visual Studio Projekt im Anhang.
    Angehängte Dateien Angehängte Dateien
    Ich bin wie ich bin. Die einen kennen mich die anderen können mich.

    Konrad Adenauer

  5. #5
    Registriert seit
    01.05.2010
    Beiträge
    27
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    das Thema hat sich erledigt, hab die Lösung gefunden.
    Hatte die .obj nicht eingebunden.

    Code:
    #include "stdafx.h"
    #include <stdio.h>
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    // Bibliotek einbinden
    #pragma comment(lib, "libnodave.lib")
    
    extern "C"{
    #define BCCWIN 
    #define LITTLEENDIAN
    }
    extern "C"{
    #include "nodave.h"
    }
    extern "C"{
    #include "openSocket.h"
    }
    Ich bin wie ich bin. Die einen kennen mich die anderen können mich.

    Konrad Adenauer

  6. #6
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Dei Bibliothek kann auch normal unter den Linkereinstellungen hinzugefügt werden.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  7. #7
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Also war mein Tip richtig???
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Hmm...  

  8. #8
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Also war mein Tip richtig???
    Bei dem Nick ist jeder Tipp richtig.

    bike

  9. #9
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Also war mein Tip richtig???
    Ja (auf zehn Zeichen auffüll)
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

Ähnliche Themen

  1. Vs2008, c#, .net - opc - sps
    Von ThomasAdler im Forum Programmierstrategien
    Antworten: 18
    Letzter Beitrag: 30.12.2010, 20:59
  2. Hmi-vs2008; c#; vb
    Von ThomasAdler im Forum HMI
    Antworten: 4
    Letzter Beitrag: 16.12.2010, 13:06
  3. VS2008, C#, .NET - zu SPS - OPC
    Von ThomasAdler im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 14.12.2010, 13:38
  4. Antworten: 0
    Letzter Beitrag: 09.09.2010, 00:27
  5. ÄÖnderungen am libnodave.net.cs File von libnodave
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 5
    Letzter Beitrag: 12.05.2010, 16:56

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •