试图将游戏移植到Linux,调用XInitThreads会导致语法错误

Trying to port a game to Linux, calling XInitThreads gets me a syntax error

本文关键字:XInitThreads 调用 错误 语法 Linux 游戏      更新时间:2023-10-16

以下是代码中有问题的行的样子:

#ifdef SFML_SYSTEM_LINUX
    XInitThreads();
#endif

我在代码开头调用了必要的库,如下所示:

#ifdef SFML_SYSTEM_LINUX
    #include <X11/Xlib.h>;
    #include <unistd.h>
    #include <pwd.h>
    #include <iostream>
    #include <stdlib.h>
#endif

它在代码::块:中给了我这个错误

错误:在";"之前需要构造函数、析构函数或类型转换代币

这个错误引用了代码中的第111行,这是我上面引用的第一个函数中的XInitThreads调用。

我是不是错过了什么?我已经尝试将链接器设置为包含X11库,但到目前为止,它还没有改变任何内容。

编辑:以下是game.cpp开始时的更多代码-http://pastebin.com/7D2WLRM7

您似乎试图在任何函数或方法块之外"调用"此函数。

你的编译器无法理解你要做什么。也许将这些行移到Game::Init中?