アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。

ICU(International Components for Unicode)
http://www-01.ibm.com/software/globalization/icu …

を利用しようと、プログラムをビルドしたのですが、
library -lCrun: not found
となりビルドできませんでした。

g++ -c -g -MMD -MP -MF build/Debug/GNU-Solaris-x86/main.o.d -o build/Debug/GNU-Solaris-x86/main.o main.cpp
mkdir -p dist/Debug/GNU-Solaris-x86
g++ -o dist/Debug/GNU-Solaris-x86/icuapp2 build/Debug/GNU-Solaris-x86/main.o `/usr/bin/icu-config --ldflags`
ld: fatal: library -lCrun: not found
ld: fatal: file processing errors. No output written to dist/Debug/GNU-Solaris-x86/icuapp2
collect2: ld returned 1 exit status
gmake[2]: *** [dist/Debug/GNU-Solaris-x86/icuapp2] エラー 1
gmake[2]: ディレクトリ `/home/a/NetBeansProjects/icuapp2' から出ます
gmake[1]: *** [.build-conf] エラー 2
gmake[1]: ディレクトリ `/home/a/NetBeansProjects/icuapp2' から出ます
gmake: *** [.build-impl] エラー 2

/usr/lib/libCrun.so.1
というファイルはあるのですが、何か不足があるのでしょうか。

どなたかご教授よろしくお願いいたします。

A 回答 (4件)

>環境は


>OS OpenIndiana

なるほど。
どちらにしろ手元にはないので、一般的な回答しか出来ませんけど。
# フリーらしいので後でDLしておきますかね。VMWareで動いてくれるかは不明ですが。
# oi-dev-151a-x86.iso でいいんでしょうかね?

>~$ LD_LIBRARY_PATH=/usr/lib
>~$ export LD_LIBRARY_PATH

それは「追加」ではなく、「置き換え」ではありませんか?
Makefile内で指定している場合もあるのでご注意を。
# ビルドしようとしているICUがどのバージョンのものなのか不明ですので…Makefileとか確認出来ませんけど。

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib
export LD_LIBRARY_PATH
辺りではないでしょうか?
# 使用しているシェルにより、若干の違いがあったりする辺りはご注意を。
Linuxだと、/etc/ld.so.confで設定したりldconfigの実行が必要だったりしますけど……。

この回答への補足

ご返答ありがとうございます。

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib
export LD_LIBRARY_PATH
としてみたのですが、状況は改善されません。

現在 VMWare Player 4でOpenIndianaの動作を確認しています。VMWare Toolsの
ホスト<->ゲスト間のファイルドラッグ&ドロップ、クリップボードの共有はうまく動いていないのですが、OSの方は動作しているようです。

/home/ユーザー名/.profileの最後の行に上記のコマンドを記載いしてるのですが、
そのあたりにも問題があるのでしょうか。

補足日時:2012/03/14 21:17
    • good
    • 0

たぶん/usr/libを環境変数LD_LIBRARY_PATHに追加すればいいかと。


Solaris実環境は持ってないんで断言はしかねますが。

この回答への補足

ご返答ありがとうございます。
LD_LIBRARY_PATHを指定してみたのですが、
やはりビルドエラーになってしまいます。

~$ LD_LIBRARY_PATH=/usr/lib
~$ export LD_LIBRARY_PATH
~$ echo $LD_LIBRARY_PATH
/usr/lib

また、NetBeansIDE 7.1のライブラリディレクトリの追加で
/usr/libを追加してみたのですが、
こちらもうまくいきませんでした。

補足日時:2012/03/13 23:40
    • good
    • 0

共有オブジェクトって「単にそこにあるだけではダメでシステムに認識させる必要がある」場合があったりするんだけど, Solaris で

はどうだったっけ....
    • good
    • 0

環境とか不明なんですが…


>GNU-Solaris-x86
とかあるのでSolarisですかね?
使ったことないですが…

>/usr/lib/libCrun.so.1
>というファイルはあるのですが、何か不足があるのでしょうか。

ソレは「実行時に」読み込まれるファイルですよね?
ビルド時に読み込まれるファイル(というか実行時に必要な関数などが/usr/lib/libCrun.so.1にあるとかの情報を持っている、リンクされるライブラリ?)は別に必要じゃありませんか?

Linuxとかだと、~-develとかってパッケージに入っていたりすることが多いですが。
[user@localhost ~]$ rpm -ql curl-devel
/usr/bin/curl-config
/usr/include/curl
  :
/usr/lib/libcurl.a
/usr/lib/libcurl.so
/usr/lib/pkgconfig/libcurl.pc
/usr/share/doc/curl-devel-7.15.5
  (以下略)
みたいな……。

この回答への補足

ご返答ありがとうございます。
環境は
OS OpenIndiana
NetBeans 7.1 c++プロジェクト
です。

補足日時:2012/03/13 23:37
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!