5

使用 iOS.cmake 工具链(位于此处https://code.google.com/p/ios-cmake/)时,我的构建文件夹从Debug和更改ReleaseDebug-iphoneosRelease-iphoneos

这不是问题,除非我尝试运行以下代码:

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 ...)函数正在寻找名为DebugandRelease而不是Debug-iphoneosand的文件夹Release-iphoneos

所以我要么需要确保install(targets ...)在正确的文件夹中查找存档,要么我需要阻止 iOS.cmake 重命名 Debug 和 Release 文件夹。任何人都可以为此提出任何建议吗?

编辑

看起来这是 CMake 的问题,如下所示:http ://public.kitware.com/Bug/view.php?id=9117

我尝试更新到最新版本的 CMake 以查看是否已修复此问题,但我仍然遇到相同的错误。我在错误报告中看到了一个补丁,但我不确定如何应用它或我能做些什么来解决这个问题。

4

1 回答 1

5

在此处找到有关此问题的更具体报告: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})
于 2013-09-10T12:56:24.260 回答