web-dev-qa-db-ja.com

共有ドライブでコンパイルしようとするとリンクエラーが発生する

システムの共有ドライブでOpenCVライブラリをコンパイルしようとしています。 これら 設定を使用してメイクファイルを正常に構成および生成できましたが、コンパイルしようとすると次のエラーが表示されます。

Linking CXX shared library ../../lib/libopencv_core.so
CMake Error: cmake_symlink_library: System Error: Operation not permitted
CMake Error: cmake_symlink_library: System Error: Operation not permitted
make[2]: *** [lib/libopencv_core.so.2.4.3] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2

解決にご協力ください。マウントフラグに問題があると思います。

3
bubble

これは、vfatタイプのファイルシステムがシンボリックリンクをサポートしていないために発生します。マウントフラグはこの状況を変更しません。

私はCMakeに精通していませんが、lib/libopencv_core.so.2.4.3へのシンボリックリンクを作成するようにCMakeに指示しているメイクファイルで何らかのルールを使用していると思いますが、失敗します。

4
bender

Ubuntu(ゲスト)の仮想ボックスのインスタンス化で実行していましたが、Mac(ホスト)への共有フォルダーで実行していたため、同じ問題に遭遇しました。

Macではシンボリックリンクが異なるため、cmakeは失敗しました。ビルドディレクトリをubuntu専用フォルダー(Macと共有されていないフォルダー)に移動すると、問題は解決しました。

ストーリーの教訓-プラットフォームをまたぐ共有フォルダを構築しないでください。

1
arinmorf