0

エンクレーブ プロジェクトに OpenCV を追加しようとしています。Visual Studio 2015 で OpenCV プロジェクトをスタンドアロンの win32 コンソール アプリケーションとして実行できます。しかし、エンクレーブ プロジェクトでそれを開始すると、エラーが発生します。enclave プロジェクトの opencv から次のライブラリを追加しようとしました。

#include "windows.h"
#include <opencv2/core/core.hpp>
#include "opencv2/imgcodecs.hpp"
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/face.hpp>
#include "drawLandmarks.hpp"

しかし、大量のエラーが発生しています。プロジェクトに windows.h ファイルも含める必要があります。これらのライブラリをエンクレーブ プロジェクトに含めることは許可されていますか?

プロジェクトにopencv静的ライブラリを追加しながら、次の手順に従いました:-

  1. CMake を使用して OpenCV スタティック ライブラリを生成し、

  2. inlucde ディレクトリに次の値を追加しました:-

    C:\Program Files (x86)\Intel\IntelSGXSDK\include C:\Program Files (x86)\Intel\IntelSGXSDK\include\libc++ C:\Program Files (x86)\Intel\IntelSGXSDK\include\tlibc C:\Users \fs5ve\Downloads\Opencv-static\static\opencv\include C:\Users\fs5ve\Downloads\Opencv-static\static\opencv\build-32-extra\install\include C:\Users\fs5ve\Downloads\Opencv -static\static\opencv\build-32-extra\install\include\opencv C:\Users\fs5ve\Downloads\Opencv-static\static\opencv\build-32-extra\install\include\opencv2 C:\Programファイル (x86)\Microsoft Visual Studio 14.0\VC\include %(AdditionalIncludeDirectories)

  3. 追加のライブラリ ディレクトリに次の値を追加しました:-

    $(SGXSDKInstallPath)bin\$(プラットフォーム)\Debug;C:\Users\fs5ve\Downloads\Opencv-static\static\opencv\build-32-extra\install\x86\vc14\staticlib

  4. 追加の依存関係に次の値を追加しました:-

    sgx_trts_sim.lib sgx_tstdc.lib sgx_tservice_sim.lib sgx_tcrypto.lib sgx_tcxx.lib sgx_urts_sim.lib sgx_uae_service_sim.lib opencv_calib3d400d.lib opencv_core400d.lib opencv_highgui400d.lib opencv_face400d.lib opencv_features2d400d.lib opencv_flann400d.lib opencv_imgcodecs400d.lib opencv_imgproc400d.lib opencv_ml400d.lib opencv_objdetect400d. lib opencv_photo400d.lib opencv_shape400d.lib opencv_stitching400d.lib opencv_superres400d.lib opencv_video400d.lib opencv_videoio400d.lib opencv_videostab400d.lib

次のエラーが表示されます:- インクルード ファイルを開けません: 'emmintrin.h': そのようなファイルまたはディレクトリはありません

インクルード ディレクトリに「C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include」を追加しました。しかし、その後、次のエラーが表示されます:- インクルード ファイルを開けません: 'malloc.h': そのようなファイルまたはディレクトリはありません

4

1 に答える 1

1

問題は、OpenCV には、エンクレーブ (Intel SSE や標準の pthreading など) では利用できない依存関係と命令が非常に多くあることです。

したがって、直接リンクすることはできませんが、いつでも移植できます。ただし、これは非常に大規模な作業であるため、価値があるかどうかを検討する必要があります。

于 2018-06-15T16:04:13.507 に答える