/var/log

技術系のあれこれ。※内容は個人の発言であり、所属する組織を代表するものではありません。

Boost1.41 へ

fink の unstable から
boost1.35 を boost1.41 にアプグレードした.


Xcode の設定を若干,変更する必要があった.





その他のリンカフラグの設定について
1.35の時は

-lboost_system -lboost_thread

でよかったけど

1.41の時は

-lboost_system-mt -lboost_thread-mt

にしてやる必要があった.






あとは...
Boost::lexical_cast が
アーキテクチャの設定で 「ベースSDK」 を「10.6」 にすると

動作がおかしいことかな?
(10.5にすると動きます)


プログラム引数を変換するコード
(下のソース)
が実行中に例外を発生させられて,おちてしまうorz

main(int argc, char *argv[]) 
{
	...
	std::size_t num = boost::lexical_cast<std::size_t>(argv[2]); 
}

ちなみに

Exception: bad lexical cast: source type value could not be interpreted as target

これが実際にコンソールに表示されている.






うーん.
unstableで開発するのは若干,怖い気もするけど.
Boost::Asio で シリアル通信したいから...まぁ祈るしかないな(笑





[追記]
まぁ僕がおおちゃくなせいなんですが,

#include <iostream>
#include <deque>

をしないで書いているソースには
膨大な数のエラーが出てしまいます(ーー;

1.35の時には
たぶん内部でやってくれてたと思うけど
1.41はちゃんと本人が気をつけてインクルードする必要があります.


container_fwd.hpp 内にて宣言されてるから
大丈夫だと思ってたんですが,なんか上手いこと該当箇所が読み込まれてない模様.




以後,気をつけます.