0

我正在 Xcode 中使用 mysql-capi 开发一个简单的 c 程序。我已经将所有内容复制include fileslibmysqlclient.aXcode。但是当我编译它时,Xcode 显示了很多错误

  "std::terminate()", referenced from:
      ___clang_call_terminate in libmysqlclient.a(my_default.cc.o)
      ___clang_call_terminate in libmysqlclient.a(ssl.cpp.o)
      ___clang_call_terminate in libmysqlclient.a(yassl_int.cpp.o)
      ___clang_call_terminate in libmysqlclient.a(yassl_imp.cpp.o)
      ___clang_call_terminate in libmysqlclient.a(crypto_wrapper.cpp.o)
      ___clang_call_terminate in libmysqlclient.a(cert_wrapper.cpp.o)
      ___clang_call_terminate in libmysqlclient.a(handshake.cpp.o)
      ...
  "vtable for __cxxabiv1::__class_type_info", referenced from:
      typeinfo for yaSSL::virtual_base in libmysqlclient.a(yassl_imp.cpp.o)
      typeinfo for yaSSL::virtual_base in libmysqlclient.a(crypto_wrapper.cpp.o)
      typeinfo for TaoCrypt::virtual_base in libmysqlclient.a(asn.cpp.o)
      typeinfo for TaoCrypt::virtual_base in libmysqlclient.a(hash.cpp.o)
      typeinfo for TaoCrypt::virtual_base in libmysqlclient.a(aes.cpp.o)
      typeinfo for TaoCrypt::virtual_base in libmysqlclient.a(md2.cpp.o)
      typeinfo for TaoCrypt::virtual_base in libmysqlclient.a(des.cpp.o)
      ...

但是,如果我将 main.c 更改为 main.cpp,它可以正常工作。我想使用 'c' 而不是 'cxx'。

这是 main.c 中的代码。

#include <stdio.h>
#include "include/mysql.h"

int main(int argc, const char * argv[]) {
    // insert code here...
    printf("Hello, World!:%s\n",mysql_get_client_info());
    return 0;
}

如何解决?

感谢您的建议!

4

0 回答 0