我正在使用Eclipse作为C ++编程的IDE。在我的系统上,我有一个网络主目录和一个数据分区。 我希望项目存储在主目录中(由我们的管理员备份),但计算应该在数据分区上完成。 我怎么能这样做?
我已经想出如何在构建工件下更改构建位置,但是我在C ++代码中生成的文件(例如fstream f; f.open("filename");
)存储在我的主文件夹的项目目录中。
一种可能性是从Eclipse构建,然后从控制台运行二进制文件。但这并不像点击Run那样好。
我希望有人可以帮助我。
答案 0 :(得分:0)
您正在打开当前工作目录中的文件。您可以在指定文件名时使用绝对路径,也可以在创建/打开文件之前执行chdir
。您还应该避免在代码中对文件名进行硬编码。相反,您可以使用配置文件,环境变量,命令行参数等指定文件名。请注意,您还可以在Eclipse中指定其他命令行参数,以便在调试时传递给您的可执行文件。
答案 1 :(得分:0)
您需要找到一些名为“Working Dir / Path”或类似名称的东西。 (不知道Eclipse中的名字是什么)
但请注意,这也会影响动态库的加载方式。
另一个选择是在你的程序中有一个配置选项,并让你的代码处理路径设置(未经测试!视为伪代码!)
f.open((path / filename).c_str()); // using boost::filesystem
f.open((path + PATH_SEP + filename).c_str()); // using std::string