因此程序编译良好,可执行文件在$(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
答案 0 :(得分:1)
可能是因为当您的应用程序在调试器下运行时,工作目录不是项目的目录,而是调试器的目录(或其他一些任意目录)不包含您的DLL文件。)
通过打开项目的属性并检查调试设置来检查(并修复)此问题。具体来说,属性→配置属性→调试。 “工作目录”设置应设置为$(TargetDir)
。