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 件のコメント :
コメントを投稿