我正在 Xcode 中使用 mysql-capi 开发一个简单的 c 程序。我已经将所有内容复制include files
到libmysqlclient.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;
}
如何解决?
感谢您的建议!