I’m attempting to construct a number of lib for iOS however I get error for thrift lib model 0.21.0
beneath is the config that I’m utilizing to construct it
ExternalProject_Add(thrift
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${THRIFT_DIR}
INSTALL_DIR ${THIRDPARTY_INSTALL_DIR}
CMAKE_ARGS ${EXTERNAL_PROJECT_CMAKE_ARGS}
-DOPENSSL_ROOT_DIR=${OPENSSL_INSTALL_DIR}
-DOPENSSL_CRYPTO_LIBRARY=${OPENSSL_INSTALL_DIR}/lib/libcrypto.a
-DOPENSSL_SSL_LIBRARY=${OPENSSL_INSTALL_DIR}/lib/libssl.a
-DBoost_INCLUDE_DIR=${BOOST_INCLUDE_DIR}
-DWITH_ZLIB=${ZLIB_INSTALL_DIR}
-DCMAKE_FIND_LIBRARY_SUFFIXES=".a"
-DBUILD_SHARED_LIBS=ON
-DBUILD_JAVA=OFF
-DBUILD_JAVASCRIPT=OFF
-DBUILD_NODEJS=OFF
-DBUILD_PYTHON=OFF
-DBUILD_PY3=OFF
-DBUILD_QT=OFF
-DBUILD_QT4=OFF
-DBUILD_RUBY=OFF
-DBUILD_PHP=OFF
-DBUILD_SWIFT=OFF
-DBUILD_TESTING=OFF
BUILD_COMMAND make clear && make CFLAGS+=-DOPENSSL_NO_SSL3 CFLAGS+=-fPIC CXXFLAGS+=-DOPENSSL_NO_SSL3 CXXFLAGS+=-fPIC
INSTALL_COMMAND make set up
)
I get error
[ 93%] Linking CXX shared library ../libthriftz.dylib
cd /Customers/Technaharia/Downloads/Demo/build-ios/SDKThirdParty-prefix/src/SDKThirdParty-build/thrift-prefix/src/thrift-build/lib/cpp && /Functions/CMake.app/Contents/bin/cmake -E cmake_link_script CMakeFiles/thriftz.dir/hyperlink.txt --verbose=1
Undefined symbols for structure arm64:
"apache::thrift::GlobalOutput", referenced from:
apache::thrift::transport::TZlibTransport::checkZlibRvNothrow(int, char const*) in TZlibTransport.cpp.o
"apache::thrift::protocol::TProtocol::skip_virt(apache::thrift::protocol::TType)", referenced from:
vtable for apache::thrift::protocol::TProtocolDefaults in THeaderProtocol.cpp.o
"apache::thrift::protocol::TProtocol::~TProtocol()", referenced from:
std::__1::__shared_ptr_emplace<:thrift::protocol::tbinaryprotocolt apache::thrift::protocol::tnetworkbigendian="">, std::__1::allocator<:thrift::protocol::tbinaryprotocolt apache::thrift::protocol::tnetworkbigendian=""> > >::~__shared_ptr_emplace() in THeaderProtocol.cpp.o
std::__1::__shared_ptr_emplace<:thrift::protocol::tbinaryprotocolt apache::thrift::protocol::tnetworkbigendian="">, std::__1::allocator<:thrift::protocol::tbinaryprotocolt apache::thrift::protocol::tnetworkbigendian=""> > >::~__shared_ptr_emplace() in THeaderProtocol.cpp.o
apache::thrift::protocol::TBinaryProtocolT<:thrift::transport::theadertransport apache::thrift::protocol::tnetworkbigendian="">::~TBinaryProtocolT() in THeaderProtocol.cpp.o
But when I -DBUILD_SHARED_LIBS=ON
to -DBUILD_SHARED_LIBS=OFF
it builds efficiently however it creates solely .a lib not .dylib that’s required for an additional lib
Full code is out there at DemoApp
Any assist or route can be appreciated