2017-09-21 15 views
-1

마시고 :: 데이터`로 정의되지 않은 참조 : MySQL의 :: 커넥터 :: registerConnector()는 다음 단계를 사용하여 ++ POCO C를 설치 :마시고 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; 
} 

내 오류는 다음과 같습니다

-I/home/saurabh/project2/poco-1.7.9-all/Data/MySQL/include/ 
-I/usr/local/poco2/include/ 
-I/usr/include 
:

/tmp/ccvlAI5T.o: In function `main':

testy.cpp:(.text+0x5): undefined reference to `Poco::Data::MySQL::Connector::registerConnector()'

collect2: error: ld returned 1 exit status

이 경로를 포함3210 개

링크 경로 :

-L/usr/local/poco2/lib/ 
-L/home/saurabh/project2/poco-1.7.9-all/lib/Linux/x86_64 
-L/usr/lib -lmysqlclient 

컴파일 및 우분투 리눅스에 대한 명령은 실행이 :

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

당신은 libPocoDataMysql와 연결해야합니다. 내 설정에서 ,이 명령은 오류없이 컴파일 및 링크에 충분하다 :

g++ -o testy testy.cpp -I/usr/include/c++/7/ -lPocoDataMySQL 

필요한 경우 올바른이 포함 및 라이브러리 경로를 추가합니다.

+0

안녕하세요, 컴파일 및 연결 –

+0

이 경우 내 대답을 수락 할 수 있습니까? 감사. – Patricklaf