Code: Select all
cmake_minimum_required(VERSION 3.0)
# for android I use my android toolchain file of course
set(CMAKE_TOOLCHAIN_FILE ios.toolchain.cmake)
project(mylibrary)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(OpenCV_DIR ${CMAKE_CURRENT_LIST_DIR}/opencv/opencv/build/ios/opencv2.framework)
include_directories("${OpenCV_DIR}/Headers")
link_directories("${OpenCV_DIR}")
# find header & source
file(GLOB_RECURSE SOURCE_C "src/*.c")
file(GLOB_RECURSE SOURCE_CPP "src/*.cpp")
file(GLOB_RECURSE HEADER_H "src/*.h")
file(GLOB_RECURSE HEADER_HPP "src/*.hpp")
add_library(${PROJECT_NAME} STATIC
${SOURCE_C}
${SOURCE_CPP}
${HEADER_H}
${HEADER_HPP}
)
# currently not used
# set_target_properties(${PROJECT_NAME} PROPERTIES
# COMPILER_FLAGS "-arch arm64 -std=c++11"
# )
# opencv package
target_link_libraries(${PROJECT_NAME} PRIVATE "${OpenCV_DIR}/opencv2")
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-v")
# includes
source_group("Header include" FILES ${HEADER_H})
source_group("Header include" FILES ${HEADER_HPP})
source_group("Source src" FILES ${SOURCE_C})
source_group("Source src" FILES ${SOURCE_CPP})
Code: Select all
Undefined symbols for architecture arm64
Symbol: cv::medianBlur(...)
Referenced frin: myfunc in mylibrary.a ...
Wie baue ich opencv in meine statische Bibliothek ein, damit alle Funktionen gefunden werden können?