2012-03-18 31 views
-3

我正在使用C++并使用G ++编译器来编译我的游戏。它编译好,但我链接到图像,并没有在游戏中显示。我尝试使用本地链接和完整的链接,但我无法让任何一个人工作。有没有特别的方法可以链接到Linux中的文件?Linux不会为我的游戏加载我的图像

代码示例:

StatBack.load_image("\\Dropbox\\Pirate_Entertainment\\images\\hud_thumbnails\\backdrop.png"); 
StatBack.apply_image_surface(nCurrentX - 180,nCurrentY-230,0); 
StatBack.v_DeleteImages(); 
+1

什么是你的图像的路径,你可以用ls来找到它(\\不是Unix中的路径分隔符) – Mark 2012-03-18 14:35:51

+0

不仅是路径分隔符'/',而且如果你放置一个前导'/'我相信它会指向文件系统的根目录。 – Ryan 2012-03-18 14:38:20

+0

感谢您的回答,我仔细查看了谷歌,看看Unix是否有不同的文件路径,没有人有任何帮助。 Windows在路径名中使用\,所以我很困惑 – 2012-03-18 14:42:59

回答

1

除非你使用某种类型的便携包装物将您的反斜线为正斜杠的,你可能需要使用正斜杠:

StatBack.load_image("/Dropbox/Pirate_Entertainment/images/hud_thumbnails/backdrop.png"); 

,或者更可能的是,使用相对路径:

StatBack.load_image("Dropbox/Pirate_Entertainment/images/hud_thumbnails/backdrop.png"); 
0

应该使用/作为路径分隔符,而不是\(即C++降低到)。

+1

感谢兄弟,这里的一些人不知道如何帮助... 我只是很习惯于视觉工作室和windows,我用'\\'做目录 – 2012-03-18 14:38:35

+0

我认为Visual C运行库接受/作为路径分隔符,所以你的代码应该几乎是可移植的。不知道cygwin,所以我避免暗示答案。 – CapelliC 2012-03-18 14:48:06

+0

@BrendanWebster太多竞争... – 2012-03-18 14:50:48

1

事实上,在Windows中使用正斜杠也是安全的。 ANSI C标准允许在文件名中使用正斜杠作为路径分隔符。

+0

好的,太棒了! 我的编程老师刚刚教我使用'\\',所以我习惯了它 – 2012-03-18 14:57:09

相关问题