【问题标题】:Compile iOS dynamic library(.framework) with cmake使用 cmake 编译 iOS 动态库(.framework)
【发布时间】:2018-12-21 14:55:39
【问题描述】:

我已经使用 cmake 编译了一个 c++ 动态库,我想添加到我的 iOS 应用程序中。但是这个.framework的头文件目录是空的,我参考了cmake文档中写的CMakeFiles。不知道问题出在哪里?

任何帮助将不胜感激。

这是我的 CMake 脚本

cmake_minimum_required(VERSION 3.2)

project(Xml C CXX)

set(CMAKE_SYSTEM_NAME Darwin)

set(CMAKE_SYSTEM_PROCESSOR arm)

set(HEADERS
    ./include
)

include_directories(
    ${HEADERS}
)

aux_source_directory(. DIR_SRCS)

add_library(Xml SHARED
    ${DIR_SRCS}
    ${HEADERS}
)

set_target_properties(Xml PROPERTIES
    FRAMEWORK TRUE
    FRAMEWORK_VERSION CXX
    PUBLIC_HEADER ${HEADERS}
    XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
)

编译进度

Scanning dependencies of target Xml
[ 10%] Building CXX object CMakeFiles/Xml.dir/ILock.cpp.o
[ 20%] Building CXX object CMakeFiles/Xml.dir/ParamSet.cpp.o
[ 30%] Building CXX object CMakeFiles/Xml.dir/StringConvert.cpp.o
[ 40%] Building CXX object CMakeFiles/Xml.dir/XmlFile.cpp.o
[ 50%] Building CXX object CMakeFiles/Xml.dir/XmlInterface.cpp.o
[ 60%] Building CXX object CMakeFiles/Xml.dir/tinystr.cpp.o
[ 70%] Building CXX object CMakeFiles/Xml.dir/tinyxml.cpp.o
[ 80%] Building CXX object CMakeFiles/Xml.dir/tinyxmlerror.cpp.o
[ 90%] Building CXX object CMakeFiles/Xml.dir/tinyxmlparser.cpp.o
[100%] Linking CXX shared library Xml.framework/Xml
Copying OS X content Xml.framework/Versions/CXX/Headers/include
[100%] Built target Xml

Compiled dynamic library

【问题讨论】:

    标签: c++ ios dynamic cmake frameworks


    【解决方案1】:

    问题解决了。 CMake 无法使用 ./include 语法获取所有头文件。以下是修改后的 CMake 脚本。

    set(HEADERS
        ./include/a.h
        ./include/b.h
        ./include/c.h
    )
    
    include_directories(
        ./include
    )
    
    aux_source_directory(. DIR_SRCS)
    
    add_library(Xml SHARED
        ${DIR_SRCS}
        ${HEADERS}
    )
    
    set_target_properties(Xml PROPERTIES
        FRAMEWORK TRUE
        PUBLIC_HEADER "${HEADERS}"
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-12
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      相关资源
      最近更新 更多