【问题标题】:How do we add facebookSDK into a xcode project using cmake?我们如何使用 cmake 将 facebookSDK 添加到 xcode 项目中?
【发布时间】:2013-05-23 18:10:50
【问题描述】:

我在使用 cmake 将 facebookSDK.framework 添加到我的 xcode 项目中时遇到了一些困难? 这是我到目前为止所做的。但这似乎不起作用

set (facebook_sdk_path ${CMAKE_HOME_DIRECTORY}/external/framework/facebook/ios)
message("adding facebookSDK" ${facebook_sdk_path})
target_link_libraries(${Target} "${facebook_sdk_path}/facebookSDK.framework/facebookSDK")

我认为我们需要在项目设置的“框架搜索路径”下设置框架,但我不太确定如何执行此操作。

【问题讨论】:

    标签: ios xcode build cmake


    【解决方案1】:

    找到我的解决方案:我使用了从 CMake and XCode: "cannot find interface declaration for 'NSObject'" 找到的这个宏

    macro(AddExternalFramework fwname appname libpath)
        find_library(FRAMEWORK_${fwname}
            NAMES ${fwname}
            PATHS ${libpath} 
            NO_DEFAULT_PATH)
        if( ${FRAMEWORK_${fwname}} STREQUAL FRAMEWORK_${fwname}-NOTFOUND)
            MESSAGE(ERROR ": Framework ${fwname} not found: ${FRAMEWORK_${fwname}}")
        else()
            TARGET_LINK_LIBRARIES(${appname} ${FRAMEWORK_${fwname}})
            MESSAGE(STATUS "Framework ${fwname} found at ${FRAMEWORK_${fwname}}")
        endif()
    endmacro(AddExternalFramework)
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,但弗兰克的回答对我不起作用。正如引用的帖子中提到的那样,调用TARGET_LINK_LIBRARIES 会弄乱FRAMEWORK_SEARCH_PATHS 变量。在我的情况下,它会找到 FacebookSDK.framework,但随后会为包含的其余框架(例如 UIKit、Foundation 等)生成链接器错误。

      我的解决方案只是将 FacebookSDK.framework 复制到 XCode 框架文件夹。请记住,如果您为设备和模拟器构建,则需要将其复制到 iPhoneOS 和 iPhoneSimulator。目前,XCode7 和 SDK9.0,这些文件夹是:

      • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks
      • /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/System/Library/Frameworks

      像往常一样添加 FacebookSDK.framework 就可以了:

      SET (OUR_FRAMEWORKS "-framework Foundation -framework UIKit -framework FacebookSDK ...")
      

      【讨论】:

        猜你喜欢
        • 2018-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多