2017-06-27 5 views
0

私はUbuntuのでセレスをインストールglog、セレスソルバーを使用して 須藤からhttp://ceres-solver.org/installation.html、Linuxの一部で、コマンドラインのすべてを使用することはできませんインストールされたceresソルバーとその依存関係は問題なし。 しかし、テストファイルを実行しようとすると、 bin/simple_bundle_adjuster ../ceres-solver-1.12.0/data/problem-16-22106-pre.txt ファイルを開くことができません../ceres-solver -19.0/data-problem-16-22106-pre.tx 次に、私はチュートリアルの使用コマンドでhelloworldをコンパイルしようとしています g ++ -I/usr/include/eigen3 helloworld.cpp -o helloworld それは私にたくさんの問題。
ceres :: Problem :: Problem() ' helloworld.cpp :(。テキスト+ 0x155):未定義の参照:: ceres ::問題:: AddResidualBlock(ceres :: CostFunction *、ceres :: LossFunction *、double *) ' 私はそれらをすべて列挙しませんでした。しかし、それはGoogleについての事を全く見つけることができないようです。 あなたが私を助けることを願っています! それは私に問題の山を与えます。は は私が持っているようだmake installをlibgoogle-glog-devを すべての方法 にインストールapt-getを

答えて

0

ライブラリーにリンクしていないような音です。これにより、参照が未定義になります。リンカーを呼び出す場合(G ++はリンカーになることができます)、-lglogを追加すると末尾を追加し、それをglogにリンクする必要があります。

同様に、ceresにもリンクする必要があります。

ここでは、Ceresを使用するライブラリを使用するためにリンクする必要があるものの抜粋を示します。 CMakeで。私はあなたが底部/端部から始めることを提案し、修正するために上部に物を追加します、あなたはそれらをリンクする必要があることを示すために-lを接頭語する必要があります。 cmakeを使用することをお勧めします。このリストをtarget_link_libraries(myexecutable listhere)に貼り付け、不要な/使用していないライブラリを削除するだけです。

umfpack 
    cxsparse 
    stlplus 
    glog 
    gomp 
    ccolamd 
    btf 
    klu 
    cholmod 
    lapack 
    blas 
    camd 
    amd 
    pthread 
    ceres 
+0

ありがとうございます!私はceresにリンクしている! –

関連する問題