gpt4 book ai didi

c++ - "sf::Unicode::Text::text"成员函数已经定义或声明

转载 作者:行者123 更新时间:2023-11-28 07:58:45 27 4
gpt4 key购买 nike

我最近设法为 qt creator 设置了 SFML,但是在编译下面的代码时,我得到了三个与我的程序无关的奇怪错误。我必须指定其他 C++ 程序运行良好。这是代码:

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

int main()
{
sf::Clock Clock;
while (Clock.GetElapsedTime() < 5.f)
{
std::cout << Clock.GetElapsedTime() << std::endl;
sf::Sleep(0.5f);
}

return 0;
}

报错如下:

f:\SFML-1.6\include\SFML\System\Unicode.hpp:82: error: C2535: 'sf::Unicode::Text::Text(const wchar_t *)' : member function already defined or declared

f:\SFML-1.6\include\SFML\System\Unicode.hpp:87: error: C2535: 'sf::Unicode::Text::Text(const std::wstring &)' : member function already defined or declared

f:\SFML-1.6\include\SFML\System\Unicode.hpp:99: error: C2535: 'sf::Unicode::Text::operator std::wstring(void) const' : member function already defined or declared

知道是什么原因造成的吗?

编辑:

我还应该提一下,我从未接触过导致错误的文件。我所尝试的只是粘贴来自 SFML 网站的示例代码,这导致了上述错误。我相信我已经正确设置了 SFML。

编辑 2:我正在使用 Windows XP SP3,Mingw 编译器

最佳答案

我很久以前就遇到过这个问题,唯一对我有用的解决方案和解释(从我最初咨询的另一个论坛帖子复制):

QMake sets the compiler option treat wchar_t as a built-in type to false, making wchar_t a typedef to unsigned short, which makes functions overloaded for both unsigned short and wchar_t (like the sf::Unicode::Text constructor) fail...

I think the only solution, other than modifying SFML sources, is to change the option "Zc:wchar_t" to "-Zc:wchar_t" in your \mkspecs\win32-msvc2008\qmake.conf file. And then probably recompile Qt.

我更改了我的配置文件并重新编译了 qt,它已经开始正常工作了。

关于c++ - "sf::Unicode::Text::text"成员函数已经定义或声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12057623/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com