Verweis auf nicht aufgelöstes externes Symbol Wie Auflösen?

  • C++

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Verweis auf nicht aufgelöstes externes Symbol Wie Auflösen?

    Hallo Leute Bei meinem C++ Prokekt (Socketanwendung) kommen beim kompillern Weder fehler noch warnungen ist ja ganz schön aber beim Debuggen kommen Plötzlich Meldungen ÜBER "Nicht aufgelöste externe Symbole"

    C-Quellcode

    1. // Mein_erstes_C++_Socket_Program:
    2. #include <iostream>
    3. #include <windows.h>
    4. #include <string>
    5. #include <ostream>
    6. using namespace std;
    7. int startWinsock();
    8. int PASCAL FAR bind (
    9. IN SOCKET s,
    10. IN const struct sockaddr FAR *addr,
    11. IN int namelen);
    12. int PASCAL FAR send (
    13. IN SOCKET s,
    14. IN const char FAR * buf,
    15. IN int len,
    16. IN int flags);
    17. int PASCAL FAR recv (
    18. IN SOCKET s,
    19. __out_bcount_part(len, return) __out_data_source(NETWORK) char FAR * buf,
    20. IN int len,
    21. IN int flags);
    22. SOCKET PASCAL FAR accept (
    23. IN SOCKET s,
    24. OUT struct sockaddr FAR *addr,
    25. IN OUT int FAR *addrlen);
    26. int PASCAL FAR send (
    27. IN SOCKET s,
    28. IN const char FAR * buf,
    29. IN int len,
    30. IN int flags);
    31. int PASCAL FAR sendto (
    32. IN SOCKET s,
    33. IN const char FAR * buf,
    34. IN int len,
    35. IN int flags,
    36. IN const struct sockaddr FAR *to,
    37. IN int tolen);
    38. int main(){
    39. int waehlen;
    40. int waehlen2;
    41. char buf[256];
    42. long rc;
    43. long STRLEN;
    44. short port;
    45. SOCKET s;
    46. SOCKADDR_IN addr;
    47. char ip[15];
    48. cout<<"Welcher Port? ";
    49. cin >> port;
    50. cout<<"welche ip? ";
    51. cin >> ip;
    52. rc=startWinsock();
    53. s=socket(AF_INET,SOCK_STREAM,0);
    54. STRLEN = 256;
    55. cout << "\n Waehlen Sie: \n 1)Verbindung herstellen \n 2)Datei Senden";
    56. cin>>waehlen;
    57. cout << "( \n 1)Verbindung herstellen \n 2)Datei Senden) \n\n Waehlen Sie auch noch die andere Funktion: ";
    58. cin>>waehlen2;
    59. addr.sin_port=htons(port);
    60. if(rc==1){
    61. printf("Verbindung wird hergestellt...");
    62. cout<<"Waehlen Sie die Datei mit dem Dateipfad aus, welche Sie an die Angegebene IP Adresse Senden wollen: ";
    63. cin>>buf;
    64. }
    65. if(rc==2){
    66. send(s,buf,strlen(buf),0);
    67. }
    68. else
    69. {
    70. printf("Fehler: ... Connection: failled!");
    71. printf("\n\n error^/&/error^/&/error^/&/error^/&/error^/&/error^/&/error^/&/error^/&/error^/&/error^/&/error^/&/error^");
    72. printf("FEHLER: F*** s...");
    73. printf("\n Program's finish");
    74. Sleep(7000);
    75. }
    76. cout<<"\n\n\t Goodbye";
    77. return 0;
    78. }
    Alles anzeigen



    Ist ziemlich geschi**s** und verwirrend aber Fehlerfrei zumiendest vor dem debuggen :D
    Das mit dem waehlen :D Das sollte wahrscheinlich nur die Skizze für das Program werden :D

    // Erste Socket Debugging Fehlermeldungen:

    Quellcode

    1. 1>------ Erstellen gestartet: Projekt: Mein_erstes_C++_Socket_Program, Konfiguration: Debug Win32 ------
    2. 1>Verknüpfen...
    3. 1>Mein_erstes_C++_Socket_Program.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "[email protected]" in Funktion "_main".
    4. 1>Mein_erstes_C++_Socket_Program.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "[email protected]" in Funktion "_main".
    5. 1>Mein_erstes_C++_Socket_Program.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "[email protected]" in Funktion "_main".
    6. 1>Mein_erstes_C++_Socket_Program.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl startWinsock(void)" (?startWinsock@@YAHXZ)" in Funktion "_main".
    7. 1>C:\Users\blubberbong\Documents\Visual Studio 2008\Projects\Mein_erstes_C++_Socket_Program\Debug\Mein_erstes_C++_Socket_Program.exe : fatal error LNK1120: 4 nicht aufgelöste externe Verweise.
    8. 1>Das Buildprotokoll wurde unter "file://c:\Users\blubberbong\Documents\Visual Studio 2008\Projects\Mein_erstes_C++_Socket_Program\Debug\BuildLog.htm" gespeichert.
    9. 1>Mein_erstes_C++_Socket_Program - 5 Fehler, 0 Warnung(en)
    10. ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========



    // mit diesen Fehlern lässt sich das Program nicht ausführen (zumiendest in visual studio) :D

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Broken Sword () aus folgendem Grund: Code-Tags hinzugefügt

  • Moin moin,
    wieso machst du die PASCAL importe am Anfang der file? Normal müsste es reichen wenn du den header "Winsock2.h" includest, dann hast du zugriff auf die socket funktionen ohne die PASCAL deklarationen...

    Der Fehler den du da hast ist ein Linker fehler. Zum Lösen musst du die library ws2_32.lib in den Linkereinstellungen eintragen, dann sollte das Programm fehlerfrei gelinkt werden.
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]
  • Kann man das auch umgehen ich habe das ganze Program visual studio 05 und 08 "durchgeklickt" aber nichts gefunden.

    Problem hat sich erledigt.

    Ich habe diesen Code in das Program eingefügt:

    #pragma comment(lib, "Ws2_32.lib")

    unter google war es ein bisschen genauer...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Teschnofan ()