Linux 64でJsonCPPライブラリを使用した未定義のシンボル。何が欠けていますか?

私はJsonCPPをC ++のJsonのパーサーとして使用していますが、問題はvar Json :: Value root; を宣言してコンパイルしたときですが、 :未定義シンボル:_ZN4Json5ValueD1Ev 。 私は何が欠けている?

I thought that is was a linker problem so I put my library libjson_linux-gcc-4.1.2_libmt.so in /usr/lib and /usr/lib64, and the .h to /usr/include/json so when I call for the library in my code I do #include .

私はそれを非常にうまくコンパイルできるので、すべてが問題ありません!私は同じクラッシュを受け取ります。

私がリンクしていない道はありますか?

皆さん、ありがとうございました!

PD:私はg ++でコンパイルしていないと言っていることを忘れています。私はmakefileでコンパイルしています

0
コンパイラの入出力を表示できますか?
追加された 著者 Andrey Atapin,
私はg ++のtrhoughtコンソールでコンパイルしています。実際には初心者でもC ++で、Linuxでも同じように見えます。S
追加された 著者 Urien,

2 答え

ヘッダファイルをインクルードするだけでなく、ライブラリにもリンクする必要があります。

リンク段階で、引数 -ljson_linux-gcc-4.1.2_libmt を追加します。

1
追加された
@Urien、いいえ、リンクするライブラリを明示的にアプリケーションに伝える必要があります。たとえば、 gcc -o myprogram myprogram.cpp -ljson_linux-gcc-4.1.2_libmt
追加された 著者 nos,
あなたはそれの例を作ることができますか?私は/ usr/libフォルダに置いていたときにjsonのlibをリンクしていると思っていました。それは私には新しいものです。
追加された 著者 Urien,

これは私にとってはうまくいきます。libjson_linux-gcc-4.1.2_libmt.soを実行時に配置されたプログラムの同じディレクトリに置いてください。

0
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript