Visual studio 使用Visual C+;启动程序时无法指定相对文件路径+;2010

Visual studio 使用Visual C+;启动程序时无法指定相对文件路径+;2010,visual-studio,filepath,Visual Studio,Filepath,因此,程序可以很好地编译,可执行文件在$(SolutionDir)/Debug中生成。当我从调试文件夹本身运行可执行文件时,程序成功地扫描了dubug目录中的文件夹中的文件。但是,当我从VisualStudio执行该程序时,除非我将该目录的全局路径输入FindFirstFile函数,否则该程序将失败。为什么? 例如:为了从Visual Studio调试程序,我必须执行以下操作: #ifdef _DEBUG #define FILEPATH L"C:/Users/Steven/Documents/

因此,程序可以很好地编译,可执行文件在$(SolutionDir)/Debug中生成。当我从调试文件夹本身运行可执行文件时,程序成功地扫描了dubug目录中的文件夹中的文件。但是,当我从VisualStudio执行该程序时,除非我将该目录的全局路径输入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

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


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

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


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

Nice catch。该值设置为$(ProjectDir)Nice catch。该值已设置为$(ProjectDir)