找不到链接目录

时间:2013-06-13 13:29:55

标签: c++ windows

我有以下情况:

我编写的主要软件使用由模拟器创建的数据库。目前这个数据库大约10 GB,因此我希望每个系统只保留一份该数据。

假设我有以下项目:

使用数据的主要软件,位于/ SimData

DLL使用数据进行调试,在/ SimData中搜索数据

用于解析图像数据库的调试工具,在/ SimData

中搜索数据

由于我不希望所有这些程序都有自己的SimData副本(不仅要减少使用的位置,还要确保所有使用的模拟数据始终是最新的)。

我为DLL和调试实用程序创建了一个名为SimData的链接到MainSoftware / SimData,但是当打开一个带有“SimData \ MyFile.data”的文件时它无法找到它,只有带有ACTUAL SimData文件夹的MainSoftware才能找到它。

如何在不设置绝对路径的情况下使用MainSoftware / SimData文件夹?

这是在Windows 7 x64

2 个答案:

答案 0 :(得分:1)

您需要一种配置数据库位置的方法。您可以使用INI或其他配置文件,注册表设置,命令行输入或环境变量。或者您可以编写程序来搜索目录层次结构...例如,如果各种模块通常是目录树中彼此的兄弟姐妹,则可以搜索SimData / MyFile.data,.. / SimData / MyFile.data ,../../ MainSoftware/SimData/Myfile.data,并使用第一个找到的。

“正确的”答案取决于你的情况。

答案 1 :(得分:1)

我同意Peter的意见,即将DB位置添加为可配置参数。存储在注册表中的常见位置。

但是,如果要创建软件可识别的链接,请尝试使用硬链接。 。 fsutil应该按照here所述的方法行事。