为什么SDL不加载我的图像时,主应用程序通过快捷方式访问
Why is SDL not loading my images when main application is accessed via shortcut?
我最近用c++和SDL库创建了一个程序。最初,所有的映像和dll都在与主应用程序相同的文件夹中。我想让主应用程序更容易找到,所以我将所有图像移到它们自己的文件夹中,并修改源代码,以便在正确的文件夹中找到它们。到目前为止,一切顺利。主应用程序仍然与dll保存在同一个文件夹中。
我创建了一个快捷方式到主应用程序,并把它自己的文件夹。我将目标更改为%windir%system32cmd.exe/q/c start " "%SystemRoot%explorer.exe %UserProfile%DesktopCupcake Corner Build 2.0 (exe test)依赖Cupcake Corner.exe",试图创建一个通用的快捷方式,以便该快捷方式适用于我发送文件的任何用户。
说了这么多,做了这么多,我还是遇到了问题。如果我打开主应用程序本身,它将加载图像并完美地工作。如果我尝试通过其快捷方式进入主应用程序,窗口将正确打开并显示正确的标题,尽管没有图像将加载。我试着移动一些文件,看看如果我把资源文件夹放在其他地方,快捷方式是否会看到它们,但到目前为止还没有运气。images here -> C:UsersAdminDesktopCupcake Corner Build 2.0 dependencies resources
主app/dll在这里-> C:UsersAdminDesktopCupcake Corner Build 2.0 dependencies
这里的快捷方式-> C:UsersAdminDesktopCupcake Corner Build 2.0
我使用的是Microsoft Visual Studio Express 2010。我认为这与我在项目选项中设置项目目录的方式有关,但在这一点上我真的很困惑。有人能给我指个方向吗?
通常,在处理应用程序中的文件时(至少应用程序内部知道),您将希望具有绝对路径。
解决这个问题的最好方法是使用一个(一组)函数来添加绝对路径(由GetModuleFilename(0, ...)
找到或从某些配置中找到,例如在注册表中)
std::string myfiles_root_path = FindMyFilesRootPath();
std::string MakeFullPath(const std::string &filename){返回myfiles_root_path + filename;}
函数FindMyFilesRootPath()
使用上述方法之一来查找适当的路径,filename
是应用程序本地文件的名称。
- 使用 Bazel 编译 QT 应用程序时访问资源
- 我们如何访问 Node.js 应用程序之外的内存?
- 使用 IPC 共享内存的应用程序是否可以访问彼此的代码?
- 访问使用 Bazel 构建的应用程序中的运行时文件
- 如何从桌面应用程序访问嵌入式ArangoDB
- 如何在不需要 root 访问权限的情况下为应用程序中的线程设置相对线程优先级
- 通过UWP应用程序定位Windows 10,通过OpenNi 2访问构造传感器
- 如何从Qt应用程序访问UWP API
- 如何在 Windows 10 应用程序中访问C++默认线程池?
- 将WM_CHANGEUISTATE发送到窗口应用程序后,当用鼠标访问菜单时,助记符不会显示在系统菜单上
- 从用户应用程序访问环0模式(以及Borland允许这样做的原因)
- 从服务应用程序访问访客帐户系统注册表
- 如何使用FastCGI C/C 应用程序访问POST请求的主体
- 多个应用程序访问的单个进程
- ios应用程序访问文件与c++
- 如何从.net应用程序访问CISCO Tapi
- 从Python,Java(groovy/grails)或C++应用程序访问SPSS数据而无需SPSS许可证?
- 从本地应用程序访问chrome中的DOM
- 确定远程应用程序访问/更改的内存/值
- 是否有可能使用各种编译器应用程序访问iOS上的文件?