私はこのフォーラムを初めて利用しますが、この問題の解決策を探しているときに何度か見てきました。Ubuntu 用に見つけた C++ API ライブラリ ( libkml-dev_1.2.0-1ubuntu6_amd64 )を使用して、Google Earth で使用する KML ファイルを生成しようとしています。コマンドsudo apt-get install libkml-devを使用してパッケージをインストールしましたが、成功しました。その後、コマンド ライン ターミナルを使用してサンプル フォルダーに移動し、コマンドg++ helloworld.cc -o helloworldでプログラム 'helloworld.cc' を実行してみました。、しかしその後、大量のエラーが発生しました(主に kmldom が未定義の参照であると主張しています)。申し訳ありませんが、テキスト ファイルを添付したかったのですが、方法がわからないため、以下にエラーのサンプルを含めました。私は 1 週間中よく調べ、ヘッダー ファイルが実際にダウンロードに含まれていることを確認し、Google Earth 開発者に問題について連絡しました (そして、彼らはこれとは何の関係もないと回答し、この問題は StackOverflow に送信されます)。
この問題の原因と、これを解決するために何ができるかを知っている人はいますか?
/tmp/cc5u2JyV.o: 関数HelloKml(bool)': helloworld.cc:(.text+0x17): undefined reference to
内 kmldom::KmlFactory::GetFactory()' helloworld.cc:(.text+0x27): kmldom::KmlFactory::CreateCoordinates() const' helloworld.cc:(.text+0x328): undefined reference to
kmldom::AsPoint への未定義参照(boost::intrusive_ptrkmldom::Element)' /tmp/ cc5u2JyV.o: 関数boost::intrusive_ptr<kmldom::Coordinates>::intrusive_ptr(kmldom::Coordinates*, bool)': helloworld.cc:(.text._ZN5boost13intrusive_ptrIN6kmldom11CoordinatesEEC2EPS2_b[_ZN5boost13intrusive_ptrIN6kmldom11CoordinatesEEC5EPS2_b]+0x3d): undefined reference to
内 kmlbase::intrusive_ptr_add_ref(kmlbase::Referent*)' /tmp/cc5u2JyV.o: 関数boost::intrusive_ptr<kmldom::Coordinates>::~intrusive_ptr()': helloworld.cc:(.text._ZN5boost13intrusive_ptrIN6kmldom11CoordinatesEED2Ev[_ZN5boost13intrusive_ptrIN6kmldom11CoordinatesEED5Ev]+0x23): undefined reference to
内 kmlbase::intrusive_ptr_release(kmlbase::Referent*)' /tmp/cc5u2JyV.o: 関数boost::intrusive_ptr<kmldom::Geometry>::intrusive_ptr(boost::intrusive_ptr<kmldom::Geometry> const&)': helloworld.cc:(.text._ZN5boost13intrusive_ptrIN6kmldom8GeometryEEC2ERKS3_[_ZN5boost13intrusive_ptrIN6kmldom8GeometryEEC5ERKS3_]+0x35): undefined reference to
内 kmlbase: :intrusive_ptr_add_ref(kmlbase::Referent*)' collect2: ld が 1 つの終了ステータスを返しました