0

Sooo,我正在编写一个 C++ 应用程序来从套接字接收数据并将其保存到 MariaDB 数据库中。

我从 libmariadb3 包中包含了 MariaDB 连接器 c 库,它可以正常工作。

编译程序时,我必须添加链接选项 -l mysqlclient。

编译命令将是:

g++ main.cpp -o output -l mysqlclient

所以我的问题是为什么我必须添加此链接选项以及如何解决它以便我不必添加此选项?

(这是一个示例编译命令。实际上我正在使用 cmake 进行编译,并且我自己编译了 mariadb 连接器 c 库。cmake 中的链接器选项将是 target_link_options(${PROJECT_NAME} PUBLIC -lmysqlclient))

4

1 回答 1

1

没有解决方法,您需要链接到要使用的库。

在 CMake 中,target_link_libraries简化了这一点,并在编译/链接时添加了所需的包含路径和库。

于 2021-02-09T11:20:22.697 回答