我使用以下步骤成功构建并安装了POCO C ++:https://pocoproject.org/docs/00200-GettingStarted.html
我在构建期间运行了以下命令:
sudo apt-get install openssl libssl-dev
sudo apt-get install libiodbc2 libiodbc2-dev
Installed Mysql client
gunzip poco-X.Y.tar.gz
tar -xf poco-X.Y.tar
cd poco-X.Y
./configure
make -s -j4
构建成功。
安装:
./configure --prefix==/usr/local/poco2/
sudo make -s install
我的testy.cpp
代码:
#include "iostream.h"
#include "Poco/Data/MySQL/MySQLException.h"
#include "Poco/Data/MySQL/MySQL.h"
#include "Poco/Data/MySQL/Connector.h"
#include "Poco/Data/SessionFactory.h"
using namespace Poco::Data;
int main() {
MySQL::Connector::registerConnector();
return 0;
}
我的错误是:
/tmp/ccvlAI5T.o:在函数`main'中:
testy.cpp :(。text + 0x5):对'Poco :: Data :: MySQL :: Connector :: registerConnector()'的未定义引用
collect2:错误:ld返回1退出状态
包含路径:
-I/home/saurabh/project2/poco-1.7.9-all/Data/MySQL/include/
-I/usr/local/poco2/include/
-I/usr/include
关联路径:
-L/usr/local/poco2/lib/
-L/home/saurabh/project2/poco-1.7.9-all/lib/Linux/x86_64
-L/usr/lib -lmysqlclient
Ubuntu Linux上的编译和执行命令是:
g++ -o testy testy.cpp -I/home/saurabh/project2/poco-1.7.9-all/Data/MySQL /include/ -I/usr/local/poco2/include/ -I/usr/include -L/usr/local/poco2 /lib -L/home/saurabh/project2/poco-1.7.9-all/lib/Linux/x86_64 -L/usr/lib -lmysqlclient
答案 0 :(得分:0)
您必须链接 libPocoDataMysql 。 在我的设置中,此命令足以编译和链接而不会出现错误:
g++ -o testy testy.cpp -I/usr/include/c++/7/ -lPocoDataMySQL
如果需要,添加正确的包含和库路径。