私はそれがばかげた質問であることを知っていますが、それでも.
プロジェクトでQJsonライブラリを使用したいと考えています。公式サイトから tarball をダウンロードしました (おそらく、64 ビットの Ubuntu 12.04 を使用していることに言及する必要があります)。INSTALLファイルには次の指示があります。
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=_preferred_path_ ..
make
make install
/sbin/ldconfig, if necessary
私は正確に従った。QJson/include
の/lib
とshare
フォルダが . に追加されました/usr/local
。
その後、IDE (QtCreator) を開き、次の簡単なコードでテスト プロジェクトを作成します。
#include <QVariant>
#include <qjson/serializer.h>
int main(int argc, char *argv[])
{
QJson::Serializer s;
QVariantMap map;
map["hello"] = QVariantList() <<"t1"<<"t2";
QByteArray json = s.serialize(map);
}
正常に処理され、すべての#include
型が認識され、QJson クラスのオートコンプリートが正常に機能します。ただし、コンパイルしようとすると、次のようになります (読みやすくするために完全なパスは削除されています)。
<...>/QJsonTest/main.cpp:15: undefined reference to `QJson::Serializer::Serializer()'
<...>/QJsonTest/main.cpp:18: undefined reference to `QJson::Serializer::serialize(QVariant const&)'
<...>/QJsonTest/main.cpp:18: undefined reference to `QJson::Serializer::~Serializer()'
<...>/QJsonTest/main.cpp:18: undefined reference to `QJson::Serializer::~Serializer()'
collect2: ld returned 1 exit status
その理由は何ですか?どうすれば機能しますか?