Προς το περιεχόμενο

[C language] Visual Studio Code δεν μπορεί να αναγνωρίσει σωστά την βιβλιοθήκη Winsock2.h μέσω του msys2


Thomas_Boz

Προτεινόμενες αναρτήσεις

#include <stdio.h>
#include <winsock2.h>

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

int main() {
    WSADATA wsaData;
    int result = WSAStartup(MAKEWORD(2,2), &wsaData);

    if (result != 0) {
        printf("WSAStartup failed with error code %d\n", result);
        return 1;
    }

    printf("Winsock2 library is working properly!\n");

    WSACleanup();

    return 0;
}

Έγραψα το κώδικα για να καταλαβω γιατί δεν μπορώ να κάνω compile και παίρνω το παρακάτω σφάλμα :

C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\USERNAME\AppData\Local\Temp\ccN2Py2k.o:Test.c:(.text+0x78): undefined reference to `__imp_WSAStartup'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\USERNAME\AppData\Local\Temp\ccN2Py2k.o:Test.c:(.text+0xbd): undefined reference to `__imp_WSACleanup'
collect2.exe: error: ld returned 1 exit status

[Done] exited with code=1 in 1.22 seconds

Παρακαλώ κάποια λύση .....

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Αφαιρεσε το #pragma comment και δοκιμασε να κανεις link το ws2_32.lib χειροκινητα στο script με το οποιο κανεις compile.
Απο οτι ειδα λιγο που εψαξα φταιει το οτι ειναι import library και με #pragma comment θα δουλευε αν εκανες compile με cl, αλλα οχι με mingw

Επεξ/σία από immortalx
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το pragma comment lib ειναι extension του microsoft compiler. Βαλε την lib στο linker που εχεις, ή καλυτερα κατεβασε το msvc που ειναι πιο φιλικος στα windows

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...