SFML loadFromFile命令的问题
Problems with SFML loadFromFile command
我试图获得具有SFML 2.0的棋盘的图形表示。问题是我根本无法加载纹理,命令loadFromFile不起作用,我不知道为什么。我已经在堆栈溢出中搜索了网络,但没有找到解决方案。
我现在所做的:
- 设置所有依赖项,用于include和库,.dll和.libs
- 将文本格式从Unicode更改为多键。
- 将.dll复制到工作文件夹中(即使我在项目中链接了它们,Visual Studio都找不到DLL的错误)
- 使用图像文件的整个路径
- 使用带有2个参数的LoadFile-Command(即使第二个是可选的,我猜)
- 将运行时库从MDD更改为MD(试图在发行模式下使其工作)
- 不是链接所有库,而只有一个....- d.lib结束的库(如另一个堆栈溢出线程中所谓)
我使用Windows 7,Visual Studio版本15.3.3
这是我的代码:
#include <SFML/Graphics.hpp>
#include <time.h>
#include <iostream>
int main() {
sf::RenderWindow window(sf::VideoMode(437, 437), "MattseChess!");
sf::Texture t1;
if (!t1.loadFromFile("C:/Users/Mattse/source/repos/Chess/Chess/images/figures.png")) {
std::cout << "Error loading texture" << std::endl;
}
return 0;
}
接下来我要尝试什么?
您应该始终使用相对路径("images/figures.png"
)打开文件。它是从可执行的。
并与其他PNG
图像一起检查它是否不是来自SFML无法加载的图像(并尝试使用GIMP重新将其重新输入,例如与隔板(例如Interlaceing)重新删除它)
我猜(从C:Users
部分)您在Windows系统上。
虽然Windows 应该支持斜线作为路径分离器,但Windows中的官方路径分离器是 Backslash 。它需要在C 中逃脱,因此您的完整路径是:
"C:\Users\Mattse\source\repos\Chess\Chess\images\figures.png"
问题已解决,实际上,我忘了删除链接器 - &gt;输入设置中的一个库。我现在只有一个结尾,即使是没有-d等效的那些。
。链接库的列表:
sfml-audio-d.lib
sfml-graphics-d.lib
sfml-main-d.lib
sfml-network-d.lib
sfml-network-s-d.lib
sfml-system-d.lib
sfml-system-s-d.lib
sfml-window-d.lib
sfml-window-s-d.lib
相关文章:
- 初学者问题:如何使用这些晦涩难懂的命令,例如C++中的'RenderWindow'
- 在 C++ 中使用逗号的 echo 命令中存在问题
- 在 C++ Consol 中的数组中执行用户命令时出现问题
- g++ 命令 synatx 有什么问题?
- 通过命令行参数获取llvm ir文件时面临问题
- exteranl原生构建问题,构建命令失败,android工作室
- build命令失败,外部原生问题android工作室
- 从命令行获取参数时出现问题
- 修复了安装 OSRM 时使用"make"命令时的构建问题
- 从C 程序传递命令到终端的问题
- 在程序中获取 Linux 'dd' 命令的输出时遇到问题C++
- SFML loadFromFile命令的问题
- MVC:命令行应用程序的实现问题
- 从c++应用程序向bash传递源命令时出现问题
- 命令行参数问题
- Windows 上C++命令行参数的问题
- 图像处理(OpenCV with PHP) - exec 命令出现问题
- C++编译器问题:3>cl:命令行错误 D8016:'/clr'和'/arch:SSE2'命令行选项不兼容
- 执行命令行管理程序命令时出现性能问题
- 我在让非常基本的命令提示符文本处理器工作时遇到问题。ofstream() 的问题