gpt4 book ai didi

c++ - 使用 MySQL C++ Connector 解析 undefined reference

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:58:49 27 4
gpt4 key购买 nike

我正在尝试编译它(也在 mysql c++ 连接器文档中列出):http://pastebin.com/HLv4zR0r

但我收到这些错误:http://pastebin.com/3t0UbeFy

这是我尝试编译的方式:

g++ -o test test.cpp `mysql_config --cflags --libs` -I./include/cppconn -L./lib -lmysqlcppconn-static

运行 mysql_config --cflags --libs 的结果是:

-I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing  -g
-L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -ldl

编辑:

在使用正确排序的链接器参数运行 Jonathan Wakely 建议的命令后,

g++ -o test test.cpp  -I./include/cppconn -L./lib -lmysqlcppconn-static `mysql_config --cflags --libs`

我得到不同的错误:http://pastebin.com/4EWNgy9i

最佳答案

mysqlcppcon 库依赖于 mysqlclient C 库,因此您需要将 mysqlclient 库放在之后 -lmysqlcppconn-static

g++ -o test test.cpp  -I./include/cppconn -L./lib -lmysqlcppconn-static `mysql_config --cflags --libs`

链接器参数的顺序很重要。链接器按顺序查看每个文件并决定是否需要其中的任何符号。当它看到 libmysqlcppconn-static.a 文件时,它已经查看(并忽略)了 libmysqlclient.so 库,并且不会再回去查看它。

关于c++ - 使用 MySQL C++ Connector 解析 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13348395/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com