2017-08-13 8 views
0

Ubuntuでは、POCO提供のSQLソースファイルを使用してSQLをコンパイルしてリンクする正しい方法は何ですか?UbuntuでPOCO用にSQLiteをコンパイルするには?

windowsの下に、私はちょうどインクルードフォルダを指さなければなりませんでした。

私は完全にここで立ち往生しています、他のすべては、両方のプラットフォーム:)ここ

は、これまでの方法であるに取り組んでいます。

sudo apt-get install build-essential 
sudo apt-get install libssl-dev 
sudo apt-get install libmysqlclient-dev 

cd poco-1.7.8p3-all/ 
./configure --sqlite-thread-safe=2 --omit=Data/ODBC,Data/MySQL,CppUnit/WinTestRunner --static --no-samples --no-tests 
make 
sudo make install 

結果:

g++ -o server.run server.o tables.o -lPocoUtil -lPocoXML -lPocoNet -lPocoJSON -lPocoFoundation -lPocoData -pthread 

server.o: In function `main': 
server.cpp:(.text+0xb50): undefined reference to `Poco::Data::SQLite::Connector::registerConnector()' 

tables.o: In function `init_Table_list()': 
tables.cpp:(.text+0x4d2): undefined reference to `Poco::Data::SQLite::Connector::registerConnector()' 

collect2: error: ld returned 1 exit status 

答えて

0

SQLiteのための外部依存関係はありません - あなたは-lPocoDataSQLiteが欠落しています。 また、MySQLは明示的に除外されているので、mysqlクライアント開発パッケージの必要はありません。

+0

優れています! ...ほとんど。私も-ldlを追加するまで... コンパイル、ありがとう、アレックス、優れています。 –

+0

"MySQLが明示的に除外されているので、mysqlクライアント開発パッケージの必要はないようです。" この文からの影響を理解できません。 MySQLを使用すべきですか? どのエンジンがスレッドセーフで優れていますか? –

+0

あなたの質問から、あなたはmysqlクライアントをインストールしているようです - それはSQLiteには必要ではありません。 SQLiteとmysqlの動作方法は異なります.SQLiteは別のサーバで管理され、mysiteデータベースは1つのファイルにデータベース全体が含まれています。あなたが使用する必要があるのはあなたの要求に依存し、このスレッドの範囲外です。私はそれについて別の質問を投稿することを提案します。 – Alex

関連する問題