本节介绍构建特定于 macOS 的连接器/C++ 应用程序的各个方面。有关一般的应用程序构建信息,请参阅 第 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 库。这些库安装在与连接器库相同的位置,动态链接器应该可以在那里找到它们。