我试图从.cpp文件中获取运行时json文件的绝对路径。这是我用来获取绝对路径的代码,
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef resourcesURL = CFBundleCopyResourcesDirectoryURL(mainBundle);
char path[PATH_MAX];
if (!CFURLGetFileSystemRepresentation(resourcesURL, TRUE, (UInt8 *)path, PATH_MAX)) {
CELogW("Cant read the filepath: %s", filePath.c_str());
}
CFRelease(resourcesURL);
chdir(path);
我还将我的.json文件添加到构建阶段,如图所示
这在我的系统中确实很好用。但是当我在另一个系统中运行相同的代码时,这些文件在构建目录中丢失了。
我搜索了很多但是找不到任何解决办法。任何帮助将不胜感激。 提前谢谢。
答案 0 :(得分:0)
经过一段相当长的研究后,我找到了我错过的东西。我应该将目的地保留为Product Directory
而不是资源。我还制作了新的Run脚本,如下所示,
#!/bin/bash
SRC="${PROJECT_DIR}/Libraries/fileName.json"
DEST="${BUILD_DIR}/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME}/${FULL_PRODUCT_NAME}"
cp -R "$SRC" "$DEST"
现在一切都像魅力一样。感谢@Jesse Rusak为您提供宝贵的时间。