c++ - SFML 未定义对 `sf::TcpSocket::TcpSocket()' 的引用

标签 c++ c++11 g++ sfml

我正在尝试编译 SFML 简单代码:

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

using namespace std;

int main(int argc, char* argv[])
{

    sf::TcpSocket socket;
    sf::Socket::Status status = socket.connect("127.0.0.1", 6000);
    if (status != sf::Socket::Done)
    {
        // error...
    }
    return 0;
}

已安装所有库和依赖项:

sudo apt-get install libsfml-dev
sudo apt-get build-dep libsfml

我正在使用两种方法:

g++ -c main.cpp
g++ -o main main.o -std=c++11 -lsfml-graphics -lsfml-window -lsfml-system

g++ -c main.cpp -I/home/x64joxer/SFML-2.4.0/include
g++ -o main main.o -L/home/x64joxer/SFML-2.4.0/lib -std=c++11 -lsfml-graphics -lsfml-window -lsfml-system

但是我还是遇到了同样的问题:

main.o: In function `main':
main.cpp:(.text+0x27): undefined reference to `sf::TcpSocket::TcpSocket()'
main.cpp:(.text+0x38): undefined reference to `sf::IpAddress::IpAddress(char const*)'
main.cpp:(.text+0x54): undefined reference to `sf::TcpSocket::connect(sf::IpAddress const&, unsigned short, sf::Time)'
main.o: In function `sf::TcpSocket::~TcpSocket()':
main.cpp:(.text._ZN2sf9TcpSocketD2Ev[_ZN2sf9TcpSocketD5Ev]+0x30): undefined reference to `sf::Socket::~Socket()'
main.cpp:(.text._ZN2sf9TcpSocketD2Ev[_ZN2sf9TcpSocketD5Ev]+0x56): undefined reference to `sf::Socket::~Socket()'
main.o:(.rodata._ZTIN2sf9TcpSocketE[_ZTIN2sf9TcpSocketE]+0x10): undefined reference to `typeinfo for sf::Socket'
collect2: error: ld returned 1 exit status

我在论坛上看了很多教程和主题,但我仍然不知道如何解决它。 我的系统是 Kubntu 15。 有谁知道怎么解决吗?

最佳答案

您正在与 graphicssystemwindow 链接,但没有与 network 链接。您是否尝试添加 -lsfml-network

关于c++ - SFML 未定义对 `sf::TcpSocket::TcpSocket()' 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40315947/

相关文章:

linux - g++ 抛出文件无法识别 : File format not recognized error

c++ - 为什么有 boost::noncopyable 类

c++ - 尝试使用参数包绑定(bind) std::function 时获取未声明的参数

c++11 - 是所有数据成员都初始化为 0 还是由自动调用的构造函数分配随机值?

c++ - 为什么scons会忽略我在SConscript中的CXXFlags

templates - 为什么使用可变参数模板参数初始化我的对象需要定义移动构造函数?

c++ - 是否可以根据 C++ 中的输入变量定义不同类型的变量?

C++ 读取行到类 vector

c++ - 如何表示一组任意长度和类型组合的值?

c++ - 遍历 unique_ptr vector 的 unique_ptr