MPIがを使用して初期化されている間にOpenCvで画像ファイルを読み取る単純なhelloworldタイプのプログラムをコンパイルしようとしています。gcc(mpicc)でも問題なく動作しますが、入らない理由でcrayccを使用しようとしています。これを行うと、すべてのライブラリが見つからないというエラーが発生します。奇妙な道を探しているようです。
誰かがここで何が起こっているのか推測できますか?私のpkg-configopencv.pcファイルが間違ったパスを与えている可能性がありますか?typedefエラーがこれを引き起こしていますか(行を見つけてコメントアウトすると、不足しているライブラリが残っているために警告が消えます)?
その上で寝てみて、何が起こるか見てみましょう。この人々を読むために時間を割いてくれてありがとう、そして私が何かを見つけたら私は必ず報告するでしょう。
@hector-xe6-7:~/work/disparity> cc `pkg-config --cflags --libs opencv` hello.c -o hello
CC-301 craycc: WARNING File = /home/d34/d34/s1138832/work/OpenCV-2.3/include/opencv2/core/types_c.h, Line = 159
The indicated "typedef" name has already been declared (with same type).
typedef unsigned short ushort;
^
Total warnings detected in hello.c: 1
/opt/cray/cce/8.0.4/cray-binutils/x86_64-unknown-linux-gnu/bin/ld: cannot find -lopencv_core
/opt/cray/cce/8.0.4/cray-binutils/x86_64-unknown-linux-gnu/bin/ld: cannot find -lopencv_imgproc
/opt/cray/cce/8.0.4/cray-binutils/x86_64-unknown-linux-gnu/bin/ld: cannot find -lopencv_highgui
/opt/cray/cce/8.0.4/cray-binutils/x86_64-unknown-linux-gnu/bin/ld: cannot find -lopencv_ml
/opt/cray/cce/8.0.4/cray-binutils/x86_64-unknown-linux-gnu/bin/ld: cannot find -lopencv_video
/opt/cray/cce/8.0.4/cray-binutils/x86_64-unknown-linux-gnu/bin/ld: cannot find -lopencv_features2d
/opt/cray/cce/8.0.4/cray-binutils/x86_64-unknown-linux-gnu/bin/ld: cannot find -lopencv_calib3d
/opt/cray/cce/8.0.4/cray-binutils/x86_64-unknown-linux-gnu/bin/ld: cannot find -lopencv_objdetect
/opt/cray/cce/8.0.4/cray-binutils/x86_64-unknown-linux-gnu/bin/ld: cannot find -lopencv_contrib
/opt/cray/cce/8.0.4/cray-binutils/x86_64-unknown-linux-gnu/bin/ld: cannot find -lopencv_legacy
/opt/cray/cce/8.0.4/cray-binutils/x86_64-unknown-linux-gnu/bin/ld: cannot find -lopencv_flann