2017-06-04 23 views
0

this libraryをUbuntuにインストールすることはできません。少なくともライブラリをコンパイルするには.cppをコンパイルする必要があります。私はすべてのGoogleとStackOverflowの答えを完了している。共有ライブラリを.soファイルでインストールすることはできません

だから私はcmakeを実行した後、私はmake(そして確かにmake install)を実行した。それでも、私がg++ xxx.cpp -lcrb -o testを実行した場合、私はこのエラーを受け取ります:fatal error: CRNB.h: No such file or directory。ライブラリはまだインストールされたくないので、libcrn.soファイルを/usr/libにコピーし、sudo ldconfigを実行してロードします。今...

  • sudo ldconfig -n -v /usr/lib/は(ない.soファイルをコピーする前に)それが正しくインストールされていますと言います。
  • g++ -lcrnはリターン(.soファイルをコピーする前など)undefined reference to 'main'なくcannot find -lcrn
  • ldd /bin/lsが、それはまだコンパイルしようと、とにかく

をインストールしていないことを意味する、ライブラリが表示されないので、それが正しくインストールさだと言います同じエラーがスローされます。私はまた、/usr/lib

  • .soファイルのシンボリックリンクをcreatyする... .confファイルを作成し、フォルダ/etc/ld.so.conf.d/
  • に追加する... ...

    • を試してみました。.. 。トンのパスにLD_LIBRARY_PATHをエクスポートする... /etc/ld.so.confパス
    • にこのすべてのフォルダを追加するには... /usr/local/libにし、/libフォルダ
    • にも、このすべてのソリューションを繰り返します彼.soファイル

    そしてもっと多くの類似。あなたが見ることができるように、これらはすべて同じものなので、重要なものを失うことは明らかです。誰でもそれが何であるか知っていますか?

    ありがとうございます!

  • +0

    '致命的なエラー:CRNB.h:そのようなファイルやdirectory'が、それは**ヘッダファイルを見つけることができないことを意味しない**' CRNB.h' 。あなたの試みの中で、**あなたは**このファイルで何かをしようとしたことはありません。実際、 'cmake' - ' make' - 'make install'の後、ライブラリ**がインストールされますが、' install_3.9.5'サブディレクトリの下に*ローカルに*インストールされています。したがって、ライブラリを使うことができますが、適切な追加インクルードディレクトリ( 'gcc'に' -I'フラグ)とリンクディレクトリ( '-L'フラグ)を用意する必要があります。 – Tsyvarev

    答えて

    1

    "-I"フラグを指定してインクルードディレクトリを指定するか、システムにインポートする必要があります。

    試してみてください。

    g++ src_name.cpp -L./your/library -lcrn -I./your/headers -o out_name -std=c++11 
    

    または:あなたはlibcrnからコピーすることができ

    は "/は/ usr/localには/含める" するファイル( "* .H")と「は/ usrにライブラリを含めます/もし「/ libに/ローカルは、存在し、しません:

    g++ src_name.cpp -lcrn -o out_name -std=c++11 
    
    +0

    インクルードファイルを/ usr/local/includeにコピーするのを忘れていました。このようにして、あなたの最後のコマンドで動作します。ありがとう! – Maximetinu

    関連する問題