使用iOS.cmake工具链(位于此处https://code.google.com/p/ios-cmake/)时,我的构建文件夹已从Debug
和Release
更改为Debug-iphoneos
和Release-iphoneos
。< / p>
除非我尝试运行以下代码,否则这不是问题:
install(TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION bin COMPONENT development
ARCHIVE DESTINATION lib COMPONENT development
LIBRARY DESTINATION ${MYPROJECT_LIB_SUBDIR} COMPONENT development NAMELINK_SKIP)
install(TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION bin COMPONENT runtime
ARCHIVE DESTINATION lib COMPONENT source
LIBRARY DESTINATION ${MYPROJECT_LIB_SUBDIR} COMPONENT source NAMELINK_SKIP)
此代码给出了以下错误:
-- Install configuration: "Release"
-- Install component: "development"
CMake Error at cmake_install.cmake:54 (FILE):
file INSTALL cannot find
"/Users/username/Documents/Projects/MyFramework/src/ios-build/MyProject/Release/libMyProject.a".
-- Install configuration: "Debug"
-- Install component: "development"
CMake Error at cmake_install.cmake:48 (FILE):
file INSTALL cannot find
"/Users/username/Documents/Projects/MyFramework/src/ios-build/MyProject/Debug/libMyProjectd.a".
由于某种原因,install(targets ...)
函数正在查找名为Debug
和Release
的文件夹,而不是Debug-iphoneos
和Release-iphoneos
。
所以我要么确保install(targets ...)
正在查找存档的正确文件夹,要么我需要阻止iOS.cmake重命名Debug和Release文件夹。任何人都可以为此提出任何建议吗?
修改
看起来这是CMake的问题,如下所示:http://public.kitware.com/Bug/view.php?id=9117
我尝试更新到最新版本的CMake,看看是否已修复,我仍然遇到同样的错误。我看到错误报告附带了一个补丁,但我不确定如何应用它或我可以做些什么来解决这个问题。
答案 0 :(得分:4)
在此处找到有关此问题的更具体的报告:http://public.kitware.com/Bug/view.php?id=12506
该网站上有几种解决方法。但是,我使用下面的代码片段来创建同一目录中的Release和Debug文件夹,而不将EFFECTIVE_PLATFORM_NAME附加到它们。
if(${IOS})
set_target_properties(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}")
endif(${IOS})