C++ c++;11个线程、SFML和代码::块

C++ c++;11个线程、SFML和代码::块,c++,multithreading,c++11,codeblocks,sfml,C++,Multithreading,C++11,Codeblocks,Sfml,我试图使用c++11std::thread和用于网络的SFML库来运行这段代码,但是我无法构建它。我很确定这与我如何设置编译器有关,但我不知道。。。我怎样才能让它工作?我已经花了好几个小时的时间在尝试让它工作,阅读教程之类的东西,所以我转向Stack Overflow寻求答案。我正在windows7 64位机器上使用code::blocks IDE和x32-4.8.1-posix-dwarf-rev5编译器 #include <iostream> #include <threa

我试图使用c++11
std::thread
和用于网络的SFML库来运行这段代码,但是我无法构建它。我很确定这与我如何设置编译器有关,但我不知道。。。我怎样才能让它工作?我已经花了好几个小时的时间在尝试让它工作,阅读教程之类的东西,所以我转向Stack Overflow寻求答案。我正在windows7 64位机器上使用code::blocks IDE和x32-4.8.1-posix-dwarf-rev5编译器

#include <iostream>
#include <thread>
#include <string>
#include <SFML/System.hpp>
#include <SFML/Network.hpp>


using namespace std;

void doNetwork() {
    cout << "Starting..." << endl;

    sf::TcpListener listener;
    listener.listen(88);

    // Wait for a connection
    sf::TcpSocket socket;
    listener.accept(socket);
    cout << "New client connected: " << socket.getRemoteAddress() << endl;

    // Receive a message from the client
    char buffer[1024];
    size_t received = 0;
    socket.receive(buffer, sizeof(buffer), received);
    cout << "The client said: " << buffer << endl;

    // Send an answer
    string message = "Welcome, client";
    socket.send(message.c_str(), message.size() + 1);
}

int main()
{
    thread task(doNetwork);
    task.join();
    return 0;
}
其他选择:

-std=gnu++0x -U__STRICT_ANSI__
定义:

SFML_STATIC
链接器设置:

sfml-system-s-d
sfml-network-s-d
搜索目录-编译器:

C:\Users\user\CppProjects\SFML-2.1\include
C:\Users\user\CppProjects\bang\include
i686-w64-mingw32-c++.exe
windres.exe
搜索目录-链接器:

C:\Users\user\CppProjects\SFML-2.1\lib\
工具链可执行文件:

-编译器安装目录:

C:\Program Files (x86)\mingw-builds\x32-4.8.1-posix-dwarf-rev5\mingw32
-C编译器:

i686-w64-mingw32-gcc-4.8.1.exe
-C++编译器:

C:\Users\user\CppProjects\SFML-2.1\include
C:\Users\user\CppProjects\bang\include
i686-w64-mingw32-c++.exe
windres.exe
-动态库的链接器:

i686-w64-mingw32-c++.exe
-静态库的链接器:

ar.exe
-调试器:

gdb.exe
-资源编译器:

C:\Users\user\CppProjects\SFML-2.1\include
C:\Users\user\CppProjects\bang\include
i686-w64-mingw32-c++.exe
windres.exe
-制作程序:

mingw32-make.exe

我遇到了一个类似的问题,我是如何在Linux系统上解决这个问题的:项目/构建选项

转到“链接器设置”选项卡。 我在这里添加了:sfml网络

完成了。
希望它有助于

如果您没有链接包含这些符号的sfml库,则可能会复制这些符号。请参阅sfml文档。我的全局链接器设置中有:C:\Users\user\CppProjects\sfml-2.1\lib\sfml-network-s-d.lib C:\Users\user\CppProjects\sfml-2.1\lib\sfml-system-s-d.lib和我的搜索目录中的链接器:C:\Users\user\CppProjects\sfml-2.1\lib\这些是否正确?@user1924,查看一些代码块文档会告诉您需要
sfml-network-s-d
sfml-system-s-d
。我已将链接器设置更改为sfml-network-s-d和sfml-system-s-d,但在构建时会遇到完全相同的错误