我正在尝试编译c ++文件,但是编译器似乎缺少mysql c ++连接器的某些文件。这就是我要编译的方式:
g++ -I /usr/local/boost_1_70_0 -L /usr/local/boost_1_70_0 -I /usr/include/mysql-cppconn-8 -pthread -std=c++2a `pkg-config gtkmm-3.0 --cflags --libs` srv.cpp -o srv
错误消息中的其中一行是
undefined reference to
`mysqlx::abi2::r0::string::Impl::to_utf8[abi:cxx11]
(mysqlx::abi2::r0::string const&)'
/tmp/ccf90UaW.o: In function `mysqlx::abi2::r0::DbDoc::DbDoc()'
似乎是此文件试图查找一些未链接的代码:
.../mysqlx/xdevapi.h
有人可以向我指出必要文件的正确方向吗?似乎有些重要文件尚未链接。
答案 0 :(得分:0)
花一些时间来解决这个问题。通过将makefile更改为以下内容来对其进行修复:
MYSQL_CONCPP_DIR = /usr/include/mysql-cppconn-8
BOOST_DIR = /usr/local/boost_1_70_0
CPPFLAGS = -I $(MYSQL_CONCPP_DIR) -L $(MYSQL_CONCPP_DIR) -I $(BOOST_DIR) -L
$(BOOST_DIR)
LDLIBS = -lmysqlcppconn8 -lpthread
CXXFLAGS = -std=c++11 `pkg-config gtkmm-3.0 --cflags --libs`
srv: srv.cpp