Библиотека создана с отладочной информацией, когда установлены флаги выпуска - PullRequest
0 голосов
/ 17 января 2020

Это моя команда оболочки:

cmake .  \
      -DCMAKE_SYSTEM_NAME=Android \
      -DCMAKE_TOOLCHAIN_FILE=$toolchain \
      -DANDROID_NDK=$ndk_path \
      -DANDROID_TOOLCHAIN=clang \
      -DANDROID_ABI=$arc_abi \
      -DANDROID_PLATFORM=android-21 \
      -DCMAKE_BUILD_TYPE=Release \
      -DANDROID_STL=c++_static

make

и в CMakeLists:

cmake_minimum_required( VERSION 3.5.1 )
project(husky)

set(prelibs "${CMAKE_SOURCE_DIR}/../../../../third_party/libs")
set(third_include "${CMAKE_SOURCE_DIR}/../../../../third_party/include")
set(src_root "${CMAKE_SOURCE_DIR}/../../../../src")

message(STATUS "cur dir:${CMAKE_CURRENT_SOURCE_DIR}")

string(REPLACE "-Oz" "-O3" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
string(REPLACE "-Os" "-O3" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -std=c++14 -pthread -O3 -Wnon-virtual-dtor  -Wno-unused-parameter")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wextra -flto -fuse-ld=gold -Wl")

set( CMAKE_BUILD_TYPE Release )

...
...

add_library(my_test
            SHARED
            ${ALGO_SRC_LIST}
            ${API_SRC_LIST}
            ${STAGE_SRC_LIST}
            ${UTILS_SRC_LIST}
            ${UTILS_CPU_LIST}
            ${UTILS_FORMAT_LIST}
            ${PIPELINE_SRC_LIST}
            )

target_link_libraries(my_test
        libopencv_imgproc
        libopencv_core
        libcpufeatures
        video
        libtbb
        libalgo
        libprotobuf
        ${EXTRA_LIBS}
        )

Независимо от того, установлен ли я CMAKE_BUILD_TYPE или нет, библиотека сборки всегда имеет debuginfo. Что с ним не так?

обновление: моя цель - динамическая c библиотека. когда добавить "set (CMAKE_BUILD_TYPE Release)" в CMakeLists.txt или добавить "-DCMAKE_BUILD_TYPE = Release" в команду cmake , результатом всегда является библиотека отладки。

...