我的Eclipse CDT项目中有一个映像文件。如何在我的代码中引用它,以便合作者在运行代码时可以使用它?

时间:2019-02-11 21:55:07

标签: c++ eclipse git eclipse-cdt organization

我目前正在与一个非常小的团队合作处理C ++项目,该项目涉及显示图像。我们希望能够通过在远程Git存储库中共享代码来对此进行协作,为此,我们都同意切换到使用Eclipse CDT而不是Xcode / Visual Studio /其他任何方式。理想情况下,我们应该能够将存储库克隆到安装了Eclipse CDT(和相关库)的任何计算机上,并在不对其进行任何更改的情况下成功地在其中运行代码,但是当前工作版本的代码使用我的用户目录中的图像。我在项目中有该图像的副本,我的问题是,如何使用它,以便队友也可以使用它?

我尝试使用相对路径(听说相对于可执行文件的运行位置,而不是相对位置),我尝试用PROJECT_PATH替换各种路径。完整绝对路径的前缀,但都不起作用。我也知道图像的路径可以作为命令行参数传递,但是我更喜欢将其放在项目中,尽管在这种情况下它可能是合适的,但我可以想到其中的更多内容不会(例如为游戏加载精灵),这让我不知道如何做一些本来如此基本的事情。

经过大量的搜索,Stack Overflow提出了许多解决类似问题的解决方案,但是对于C ++来说,我发现的很少是Visual Studio或Code :: Blocks,而对于Eclipse我却发现了很少的东西。曾经是Java。这一切似乎都涉及“资源加载器”或直接将相关数据推入二进制文件中,但是我无法找到这些“资源加载器”的文档,并且使用十六进制编辑器将数据集成到可执行文件中似乎是每次构建项目时都要做很多额外的工作(再加上我不知道如何使其与我正在使用的库功能一起工作)。

我正在使用的针对C / C ++开发人员的Eclipse IDE的版本是2018-12(4.10.0),位于macOS Mojave 10.4.2上,到目前为止,我与之互动的单个队友处于以下状态:或-另一个版本的Ubuntu(可能与Eclipse的版本相同)。我们都应该能够使用映像从相同的Git存储库中克隆的相同文件来构建和运行项目。该项目是“ C ++托管版本”,因为我无法弄清楚如何使用“ MacOSX GCC”工具链来使“ CMake项目”正常工作(加上我也不知道如何使用CMake)。想到这可能是在系统之间移动代码的另一个问题,但这又是一个问题),因为我不知道如何使用“跨GCC”工具链。

这个问题似乎已经足够普遍了,应该没什么大不了的,但是当前需要图像路径的确切代码行看起来像

cv::Mat image = cv::imread("/my/user/directory/Documents/8by8m.png");

使用OpenCV 3.4.3,并且尝试在项目目录中使用映像副本时,Mat变成空白。

0 个答案:

没有答案