-1

私が作成したプログラムについて助けが必要です。

これは単純なクライアント サーバー接続プログラムであり、完全に正常に動作しますが、#include に関連する openCV を追加するとすぐに、試みさえしなかったかのように、接続が即座に失敗します。

私がオンラインで見つけた唯一の関連するものは、この投稿でした: opencvライブラリが追加されたときにソケットが機能しません

コードは次のとおりです。opencv #include がコメント アウトされている限り問題なく動作しますが、追加された場合は常に接続に失敗します。

#define _WINSOCK_DEPRECATED_NO_WARNINGS

#include <iostream>
#include <winsock2.h>
#include <string>

//#include <opencv2/opencv.hpp>
//#include <opencv2/objdetect.hpp>
//#include <opencv2/imgcodecs.hpp>
//#include <opencv2/highgui/highgui.hpp>
//#include <opencv2/imgproc/imgproc.hpp>

using namespace std;
//using namespace cv;

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

int main()
{
    WSADATA WSAData;
    SOCKET server, client;
    SOCKADDR_IN serverAddr, clientAddr;

    WSAStartup(MAKEWORD(2, 0), &WSAData);
    server = socket(AF_INET, SOCK_STREAM, 0);

    serverAddr.sin_addr.s_addr = inet_addr("addresshere");
    serverAddr.sin_family = AF_INET;
    serverAddr.sin_port = htons(porthere);

    bind(server, (SOCKADDR*)&serverAddr, sizeof(serverAddr));
    listen(server, 0);

    cout << "Listening for incoming connections..." << endl;

    int clientAddrSize = sizeof(clientAddr);
    client = accept(server, (SOCKADDR*)&clientAddr, &clientAddrSize);

    cout << client << "\n";
}
4

1 に答える 1