从IDE运行时程序找不到图像目录,但从文件夹运行时CAN?

时间:2014-09-19 15:22:30

标签: c++ compiler-errors directory textures codeblocks

当我构建时,它成功且没有错误。但是,当我从IDE运行时,出现错误(我的图像无法加载,因为它无法找到目录)。

但是,如果我进入文件夹并运行程序(.exe),它会完美地找到图像目录。

mTextures.Load(Textures::Background, "../GFX/Background.png");

^给出目录的代码行。

我认为这是我在编译器中没有正确输入的设置的问题?

我在Windows上使用Code :: Blocks。

3 个答案:

答案 0 :(得分:0)

这是因为您在文件名中使用相对路径:

"../GFX/Background.png"

..说"从目前的目录"上去一个目录。如果您希望能够在任何地方运行程序,请使用绝对路径,例如:

"/home/me/GFX/Background.png"

答案 1 :(得分:0)

您的调试器的当前目录(即从codeblock中执行应用程序时使用的当前目录)可能不正确。检查项目设置,并将当前目录修复到目标目录(包含可执行文件本身的目录)。

具体说明为here

答案 2 :(得分:0)

使用双斜线添加图像存在的完整路径。

mTextures.Load(Textures::Background, "C:\\Program Files\\..\\..\\GFX\\Background.png");