如何在C程序中使用'mysql capi'?

时间:2019-01-12 14:40:28

标签: mysql c mysql-connector mysql-connector-c

我正在Xcode中使用mysql-capi开发一个简单的c程序。我已经将所有include fileslibmysqlclient.a复制到了Xcode。 但是当我编译它时,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;
}

如何解决?

感谢您的建议!

0 个答案:

没有答案