1

我已经下载了 Log4Cpp 代码项目并在我的 windows 7 64 位机器上成功构建。我还通过以下方式在我的代码中使用了属性文件 -

const char* initFileName = "log4cpp.property";
   log4cpp::PropertyConfigurator::configure(initFileName);

我在控制台应用程序中使用它,所以我将 log4cpp.property 文件放在我的 exe 文件所在的 bin 目录中。

但是每当我尝试运行第二行代码时都会抛出异常,因为给定的文件不存在。那么有人可以帮助我了解使用 Log4Cpp 应该遵循的目录结构吗

谢谢

4

1 回答 1

3

它不能与可执行文件位于同一目录中,它必须位于程序当前目录中,该目录可能是也可能不是可执行文件所在的目录。

例如,如果您在 director/home/foo/bar中,并在 中运行程序/home/foo/bin/,则当前目录是您所在的位置,而不是程序所在的位置。在本例中为/home/foo/bar目录。

您可以使用例如getcwd_getcwd在 Windows 上)来获取程序的当前目录。

如果你的程序总是在同一个地方,你可以使用属性文件的完整路径。

于 2013-11-11T11:18:24.823 回答