Неопределенные символы для архитектуры ARM64 при строительстве CPP Thrift LIB для iOSC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Неопределенные символы для архитектуры ARM64 при строительстве CPP Thrift LIB для iOS

Сообщение Anonymous »

Я пытаюсь построить несколько LIB для iOS, но я получаю ошибку для благотворительной либера >

Код: Выделить всё

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 clean && make CFLAGS+=-DOPENSSL_NO_SSL3 CFLAGS+=-fPIC CXXFLAGS+=-DOPENSSL_NO_SSL3 CXXFLAGS+=-fPIC
INSTALL_COMMAND make install
)
< /code>
Я получаю ошибку < /p>
[ 93%] Linking CXX shared library ../libthriftz.dylib
cd /Users/Technaharia/Downloads/Demo/build-ios/SDKThirdParty-prefix/src/SDKThirdParty-build/thrift-prefix/src/thrift-build/lib/cpp && /Applications/CMake.app/Contents/bin/cmake -E cmake_link_script CMakeFiles/thriftz.dir/link.txt --verbose=1
Undefined symbols for architecture 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::~__shared_ptr_emplace() in THeaderProtocol.cpp.o
std::__1::__shared_ptr_emplace::~__shared_ptr_emplace() in THeaderProtocol.cpp.o
apache::thrift::protocol::TBinaryProtocolT::~TBinaryProtocolT() in THeaderProtocol.cpp.o
Но если i -dbuild_shared_libs = on to -dbuild_shared_libs = off он успешно строится, но он создает только .a
Полный код доступен в DemoApp
Любая помощь или направление будут оценены

Подробнее здесь: https://stackoverflow.com/questions/794 ... ib-for-ios
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»