1

所以程序编译正常,可执行文件在$(SolutionDir)/Debug中生成。当我从调试文件夹本身运行可执行文件时,程序成功扫描放置在 dubug 目录中的文件夹以查找文件。但是,当我从 Visual Studio 执行程序时,除非我将该目录的全局路径输入到 FindFirstFile 函数,否则程序将失败。为什么?

例如:我必须这样做才能从 Visual Studio 调试程序:

#ifdef _DEBUG
#define FILEPATH L"C:/Users/Steven/Documents/Visual Studio 2010/Projects/$(SolutionDir)/Debug/Effects/*.dll"
#else
#define FILEPATH L"Effects/*.dll"
#endif
4

1 回答 1

1

可能是因为当您的应用程序在调试器下运行时,工作目录不是项目的目录,而是调试器的目录(或其他不包含您的 DLL 文件的任意目录)。

通过打开项目的属性并检查调试设置来检查(并修复)此问题。具体来说,属性 → 配置属性 → 调试。“工作目录”设置应设置为$(TargetDir).

于 2012-04-05T03:00:14.120 回答