[Linux] POCOを使ってみる

POCOをLinuxで使えるようにして見たいと思います。 ## 環境 * Ubuntu 18.04 ## ビルドする [公式サイト](https://pocoproject.org/docs/00200-GettingStarted.html)を参考にインストールします。 ソースコードはGithubからダウンロードしてきました。 まずは、open-sslを入れる必要があるようです。 ```bash `gutter:false; $ sudo apt-get install openssl libssl-dev ``` とりあえずmakeしてみます。 ```bash `gutter:false; $ ./configure $ make ``` エラーになった... ```bash `gutter:false; : sh: 1: g++: not found : Makefile:134: recipe for target 'Foundation-libexec' failed make: *** [Foundation-libexec] Error 2 ``` build-essentialを入れる必要があるようだ... ```bash `gutter:false; $ sudo apt-get install build-essential ``` 再度make... エラーになった... ```bash `gutter:false; /usr/bin/x86_64-linux-gnu-ld: cannot find -lz collect2: error: ld returned 1 exit status /home/kazuya/develop/poco/build/rules/exec:53: recipe for target '/home/kazuya/develop/poco/Crypto/testsuite/bin/Linux/x86_64/testrunnerd' failed make[1]: *** [/home/kazuya/develop/poco/Crypto/testsuite/bin/Linux/x86_64/testrunnerd] Error 1 make[1]: Leaving directory '/home/kazuya/develop/poco/Crypto/testsuite' Makefile:221: recipe for target 'Crypto-tests' failed make: *** [Crypto-tests] Error 2 $ sudo apt-get install libgl1 -> 多分これは違う $ sudo apt install libyaml-dev ``` うーん cmakeでビルドするのが推奨みたいなので、cmakeで試してみる。 ```bash `gutter:false; $ mkdir cmake_build $ cd cmake_build $ cmake .. $ make ``` Buildできた!! ```bash `gutter:false; $ sudo make install ``` 成功! 使ってみる ライブラリを更新しておく(これが必要なのかよくわからんが...) ```bash `gutter:false; $ sudo ldconfig ``` テスト用のソースは以下の通り、Thredを使ってみる。 ```c `gutter:true; #include <Poco/Thread.h> #include <Poco/Runnable.h> #include <iostream> class HelloRunnable: public Poco::Runnable { virtual void run() { std::cout << "Hello, World!" << std::endl; } }; int main(int argc, char** argv) { HelloRunnable runnable; Poco::Thread thread; thread.start(runnable); thread.join(); return 0; } ``` g++でビルドしてみます。 ```bash `gutter:false; $ g++ -lPocoFoundation ThreadSample.cpp ``` リンクエラー... どうやら、インクルードパスが必要のようです。 ```bash `gutter:false; $g++ -o ThreadSample ThreadSample.cpp -I/usr/include/C++/7/ -lPocoFoundation ``` 今度はビルドできました。 これで、POCOを使う準備ができました。 ### 参考URL [PCCO公式のインストール方法](https://pocoproject.org/docs/00200-GettingStarted.html) [stackoverflow](https://stackoverflow.com/questions/46340907/poco-c-linking-error-undefined-reference-to-pocodatamysqlconnectorr)

0 件のコメント :

コメントを投稿