2016-11-24 49 views
0

私はC++静的ライブラリをeclipseで作成しました。これはopencvを使用しています。これはうまくビルドされており、別のCプロジェクト同じ作業領域にあります。eclipseでCプロジェクトをC++静的ライブラリ(opencvを使用)にリンクする方法

1と試みる

)私は、設定プロパティ - > C/C++ビルド - >でライブラリのパスが含まれている - > GCC Cコンパイラ - >付属 - > "プロジェクトのパス"。

2)プロパティ - > C/C++ビルド - >設定 - (-i)> Liraries - - > "のLib名" 3).properties-> C/C++> GCC Cリンカー - >ライブラリビルド - >設定 - > GCC Cリンカー - >ライブラリ - > Liraries(-i) - >「Libのパス」

が、Cのプロジェクトを実行すると、与え静的ライブラリ関数を見つけることができない一方で、これは動作しませんエラー - 「機能に参照されていません」

問題の解決方法を提案してください。 ありがとうございます。

+0

一般的に言っていただきありがとうございます。そして、CコンパイラとC++コンパイラが、コードがコンパイルされたときにそれらの関数が取得する名前について同意する必要があります。そのために 'extern" C "'について読んでください。 –

+0

おかげでPete、私はすでに関数宣言でextern "C"を使用しています。私はWindows上でvisual studioとコードをチェックしており、うまくいきます。 –

答えて

0

答えを得ました。

これらは 含めるために必要なファイルである "$ {workspace_locを:/ staticLibrary}" MSDK /含ま /IPP_Legacy/x64の/含ま Levmar/x64の/は/ /OpenCVの/ libに のOpenGL/x64の/含ま含まGL たTesseract/x64の/含む/たTesseract freeGLUT/x64の/含む/ GL /ffmpegの/のx64 /含む/ libavcodecの compilers_and_libraries_2016.3.210 /リナックス/ IPP /は compilers_and_libraries_2016.3.210 /リナックス/ MKL/ compilers_and_libraries_2016.3.210を含むを含みます/ linux/tbb/include コンパイラおよびライブラリ_2016.3.210/linux/daal/include

は、これらの封入後、私は /usr/lib/x86_64-linux-gnu/libstdc++.so.6のエラーに直面していました:エラーがシンボルを追加:DSOは、私がリンクからの助けを得ているため、コマンドライン から欠落 http://i0.wp.com/omtlab.com/wp-content/uploads/2013/07/4.png今のプログラムは、すべての罰金 を働いている

は、あなたがCスタイルの関数ではなく、C++の関数を意味C.から呼び出すことができ、あなたのライブラリへのインターフェースを提供する必要があり、あなたが

関連する問題