2.5.2.2 macOS 注释

本节介绍构建特定于 macOS 的连接器/C++ 应用程序的各个方面。有关构建应用程序的一般信息,请参阅 第 2.5.1 节“构建连接器/C++ 应用程序:一般注意事项”

Connector/C++ for macOS 的二进制发行版是使用 macOS 本机clang编译器编译的。因此,应该使用相同的clang编译器构建使用 Connector/C++ 的应用程序。

clang编译器可以使用 C++ 运行时库 的两种不同实现:本机 库libc++或 GNU libstdc++库。重要的是,应用程序使用与 Connector/C++ 相同的运行时实现,即本机libc++. 为确保这一点, -stdlib=libc++应将选项传递给编译器和链接器调用。

要构建使用 X DevAPI 的连接器/C++ 应用程序,源代码位于 中app.cc,并动态链接到连接器库,Makefile在 macOS 上构建的 for 可能如下所示:

MYSQL_CONCPP_DIR = Connector/C++ installation location
CPPFLAGS = -I $(MYSQL_CONCPP_DIR)/include -L $(MYSQL_CONCPP_DIR)/lib64
LDLIBS = -lmysqlcppconn8
CXX = clang++ -stdlib=libc++
CXXFLAGS = -std=c++11
app : app.cc

macOS 的二进制包包括与连接器链接的代码所需的 OpenSSL 库。这些库安装在与连接器库相同的位置,动态链接器应该可以在那里找到它们。