OpenCV's extra modules( opencv_contrib )을 포함하여 OpenCV 4.0.1 라이브러리를 Visual Studio 2017에서 사용하기 위해 컴파일한 과정을 다루고 있습니다.
윈도우즈용으로 미리 빌드된 OpenCV 라이브러리에는 extra 모듈(opencv_contrib)이 빠져있습니다.
SURF, SIFT(xfeatures2d) 등의 OpenCV 모듈을 사용하려면 https://github.com/opencv/opencv_contrib에 있는 소스 코드를 포함시켜서 다시 컴파일 해주어야 합니다.
빌드 환경은 다음과 같습니다.
Windows 10 Pro 64bit
Visual Studio Community 2017
OpenCV 4.0.1
오류나 잘못된 점이 발견되면 알려주세요..
다음 같은 에러가 발생하는 경우 아래 경로를 시스템 변수의 path에 추가하면 해결됩니다. C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin The CXX compiler identification is unknown The C compiler identification is unknown CMake Error at CMakeLists.txt:131 (project): No CMAKE_CXX_COMPILER could be found. CMake Error at CMakeLists.txt:131 (project): No CMAKE_C_COMPILER could be found. Configuring incomplete, errors occurred! See also "C:/opencv-source/build /CMakeFiles/CMakeOutput.log". See also "C:/opencv-source/build /CMakeFiles/CMakeError.log". |
빌드한 C++용 OpenCV 라이브러리 테스트는 다음 포스팅을 참고하여 진행하면 됩니다.
Visual Studio 2017에서 OpenCV 4.0.1를 사용하는 방법 |
'OpenCV > Windows개발 환경&라이브러리 빌드' 카테고리의 다른 글
Visual Studio 2019에서 CUDA를 적용한 OpenCV 빌드하기 (0) | 2020.07.06 |
---|---|
MinGW + Visual Studio Code에서 OpenCV 사용하는 방법 (46) | 2019.11.05 |
C++, Python, Android에서 OpenCV의 Extra 모듈과 nonfree 모듈 사용하는 방법 (0) | 2019.10.17 |
MinGW + Sublime Text 3에서 OpenCV 사용하는 방법 (3) | 2019.04.22 |
Visual Studio 2019용으로 OpenCV 4.1.0 빌드 하기 (Extra 모듈 contrib 포함) (98) | 2019.04.19 |
Visual Studio 2017에서 GLS(GNU Scientific Library) 사용하기 (10) | 2019.03.21 |
Visual Studio 2017용으로 OpenCV 4.0.1 빌드 하기 (opencv_contrib 포함) (189) | 2019.01.19 |
Visual Studio 2015에서 OpenCV 3.2 연동하기 (6) | 2016.12.29 |
포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
질문을 남겨주면 가능한 빨리 답변드립니다.
여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다.
감사합니다 ~~
유튜브 구독하기
제가 쓴 책도 한번 검토해보세요 ^^
- 이전 댓글 더보기
-
TH 2019.04.07 13:25
visual studio 2019 community 에서 install 선택후 build 하니 프로젝트 하나가 실패했다고 나오고 message 는 다음과 같이 나왔습니다.
도움 부탁 드립니다.
>-- Install configuration: "Debug"
1>CMake Error at cmake_install.cmake:36 (file):
1> file cannot create directory: C:/opencv-4.0.1/build /etc/licenses. Maybe
1> need administrative privileges.-
TH 2019.04.07 18:12
error 발생한 화면 입니다.
1>------ 빌드 시작: 프로젝트: INSTALL, 구성: Debug x64 ------
1>-- Install configuration: "Debug"
1>CMake Error at cmake_install.cmake:36 (file):
1> file cannot create directory: C:/opencv-4.0.1/build /etc/licenses. Maybe
1> need administrative privileges.
1>
1>
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(138,5): error MSB3073: "setlocal
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(138,5): error MSB3073: "C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(138,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmEnd
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(138,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmErrorLevel
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(138,5): error MSB3073: exit /b %1
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmDone
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(138,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(138,5): error MSB3073: :VCEnd" 명령이 종료되었습니다(코드: 1).
1>"INSTALL.vcxproj" 프로젝트를 빌드했습니다. - 실패
========== 빌드: 성공 0, 실패 1, 최신 26, 생략 0 ==========
-
TH 2019.04.09 09:30
build 된 c:\opencv-4.0.1 folder 를 말씀 하신 folder 로 복사해도 안되고, c:\opencv-4.0.1\build\include folder 를 옮겨도 anaconda environment 에서 opencv 를 인식하지 못합니다. 죄송하지만 어떤 folder 를 옮겨야 하는지요 ?
그리고 Pycharm 에서 opencv 를 사용하기 위해 말씀하신 post 대로 설치하면 opencv 의 extra module 도 사용 가능한지요 ? 저는 opencv 의 extra module 을 사용하고 싶습니다. 감사합니다. -
TH 2019.04.09 13:31
포팅대로 Pycharm 을 install 하고 아래 예제를 실행 시켜 보았습니다.
import cv2
import numpy as np
input_image = cv2.imread('image1.jpg')
gray_image = cv2.cvtColor(input_image, cv2.COLOR_BGR2GRAY)
# For version opencv < 3.0.0, use cv2.SURF()
surf = cv2.xfeatures2d.SURF_create()
# This threshold controls the number of keypoints
surf.setHessianThreshold(15000)
keypoints, descriptors = surf.detectAndCompute(gray_image, None)
cv2.drawKeypoints(input_image, keypoints, input_image, color=(0,255,0), flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv2.imshow('SURF features', input_image)
cv2.waitKey()
다음과 같은 error message 가 떴습니다.
C:\Users\thkim\PycharmProjects\test1\venv\Scripts\python.exe C:/Users/thkim/PycharmProjects/test1/test1904091.py
Traceback (most recent call last):
File "C:/Users/thkim/PycharmProjects/test1/test1904091.py", line 6, in <module>
surf = cv2.xfeatures2d.SURF_create()
AttributeError: module 'cv2' has no attribute 'xfeatures2d'
xfeatures2d 는 openCV 의 extra module 에 있는건데 이걸 제대로 부르지 못하는 것 같습니다. 어떻게 해야 할지 조언 부탁 드립니다. -
TH 2019.04.09 15:23
같은 예제를 돌렸더니 이런 error 가 뜹니다.
C:\Users\thkim\PycharmProjects\test2\venv\Scripts\python.exe C:/Users/thkim/PycharmProjects/test2/test2.py
Traceback (most recent call last):
File "C:/Users/thkim/PycharmProjects/test2/test2.py", line 6, in <module>
surf = cv2.xfeatures2d.SURF_create()
cv2.error: OpenCV(4.0.1) C:\projects\opencv-python\opencv_contrib\modules\xfeatures2d\src\surf.cpp:1029: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'cv::xfeatures2d::SURF::create'
이번엔 CMake 를 사용하지 않았는데 다시 그걸 사용해서 또 build 를 하라는 의미인지....조언 부탁 드립니다.
-
김종혁 2019.04.11 11:20
무슨 오류인지 알 수 있을까요
CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Modules directory not found in
CMake Error at cmake/OpenCVUtils.cmake:1 (include):
include could not find load file:
CMakeParseArguments
Call Stack (most recent call first):
CMakeLists.txt:111 (include)
CMake Error at CMakeLists.txt:131 (project):
Failed to run MSBuild command:
C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe
to get the value of VCTargetsPath:
.NET Framework용 Microsoft (R) Build Engine 버전 15.9.21+g9802d43bc3
Copyright (C) Microsoft Corporation. All rights reserved.
빌드 시작: 2019-04-11 오전 11:19:28
1 노드의 "C:\opencv-sources\build\CMakeFiles\3.14.1\VCTargetsPath.vcxproj" 프로젝트(기본 대상)입니다.
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Cpp.WindowsSDK.targets(46,5): error MSB8036: Windows SDK 버전 8.1을(를) 찾을 수 없습니다. 필요한 버전의 Windows SDK를 설치하거나, 솔루션을 마우스 오른쪽 단추로 클릭하고 [솔루션 대상 변경]을 선택하거나 프로젝트 속성 페이지에서 SDK 버전을 변경하세요. [C:\opencv-sources\build\CMakeFiles\3.14.1\VCTargetsPath.vcxproj]
"C:\opencv-sources\build\CMakeFiles\3.14.1\VCTargetsPath.vcxproj" 프로젝트를 빌드했습니다(기본 대상). - 실패
빌드하지 못했습니다.
"C:\opencv-sources\build\CMakeFiles\3.14.1\VCTargetsPath.vcxproj"(기본 대상)(1)->
(_CheckWindowsSDKInstalled 대상) ->
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Cpp.WindowsSDK.targets(46,5): error MSB8036: Windows SDK 버전 8.1을(를) 찾을 수 없습니다. 필요한 버전의 Windows SDK를 설치하거나, 솔루션을 마우스 오른쪽 단추로 클릭하고 [솔루션 대상 변경]을 선택하거나 프로젝트 속성 페이지에서 SDK 버전을 변경하세요. [C:\opencv-sources\build\CMakeFiles\3.14.1\VCTargetsPath.vcxproj]
경고 0개
오류 1개
경과 시간: 00:00:00.46
Exit code: 1
Configuring incomplete, errors occurred!
-
ㅇㅇ 2019.04.20 21:09
20>LINK : fatal error LNK1104: '..\..\lib\Debug\opencv_world401d.lib' 파일을 열 수 없습니다.
유튜브 영상을 그대로 따라했는데 이렇게 뜨더라구요 원인을 모르겠습니다;;;-
ㅇㅇ 2019.04.21 02:20
올려주신 링크대로 다시 깔고 유튜브 영상 따라 했는데
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: "setlocal
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: "C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmEnd
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmErrorLevel
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: exit /b %1
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmDone
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :VCEnd" 명령이 종료되었습니다(코드: 1).
이렇게 나오더라구요;;;
-
박인용 2019.05.13 10:38
안녕하세요 우선 이런 좋은 포스팅 올려주신것에 감사합니다.
제가 SURF를 이용해야되는데 이것말고 http://webnautes.tistory.com/1132
에서 포스팅하신 방식으로 openCV를 설치하였습니다.
그래서 이걸로 다시 하려고 위에서 언급하신 방법대로 하고 있는데 CMake에 configure을 눌르고 build파일 생성하시겠습니까 에서 확이버튼을 누르면
CMake Error: The source directory "C:/opencv-sources/opencv-4.1.0" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
이런 오류가 뜨게 됩니다. 무엇이 문제일까요 ?ㅠㅠ -
Friday 2019.05.14 10:58
동영상대로 따라했더니 아래와 같은 오류가 나옵니다.
calib3d
core
> cudaarithm
> cudabgsegm
> cudacodec
> cudafeatures2d
> cudafilters
> cudaimgproc
> cudalegacy
> cudaobjdetect
> cudaoptflow
> cudastereo
> cudawarping
> cudev
dnn
features2d
flann
highgui
imgcodecs
imgproc
java
js
ml
objdetect
photo
python
> shape
stitching
> superres
ts
video
videoio
> videostab
> viz
world
aruco
bgsegm
bioinspired
ccalib
cnn_3dobj
> cudaarithm
> cudabgsegm
> cudacodec
> cudafeatures2d
> cudafilters
> cudaimgproc
> cudalegacy
> cudaobjdetect
> cudaoptflow
> cudastereo
> cudawarping
> cudev
cvv
datasets
dnn_objdetect
dpm
face
freetype
fuzzy
hdf
hfs
img_hash
line_descriptor
matlab
optflow
ovis
phase_unwrapping
plot
quality
reg
rgbd
saliency
sfm
> shape
stereo
structured_light
> superres
surface_matching
text
tracking
> videostab
> viz
xfeatures2d
ximgproc
xobjdetect
xphoto
CMake Error at cmake/OpenCVModule.cmake:354 (message):
Duplicated modules NAMES has been found
Call Stack (most recent call first):
cmake/OpenCVModule.cmake:372 (_assert_uniqueness)
modules/CMakeLists.txt:7 (ocv_glob_modules)
Configuring incomplete, errors occurred!
See also "C:/opencv_source/build/CMakeFiles/CMakeOutput.log".
See also "C:/opencv_source/build/CMakeFiles/CMakeError.log".
어떻게 해결해야할지 모르겠네요 ㅠㅠ
opencv source module 경로에 opencv contrib module의 내용을 집어 넣어도 되나요?
아니면 opencv contrib module에서 중복되는 내용을 삭제해야하나요? -
Friday 2019.05.14 13:37
같은 에러가 계속 떠서
opencv source module 경로에 opencv contrib module의 내용을 집어 넣고
extra module 경로 설정을 안했더니 이런 에러가 뜨네요
CMake Error at cmake/OpenCVUtils.cmake:742 (pkg_check_modules):
Unknown CMake command "pkg_check_modules".
Call Stack (most recent call first):
modules/freetype/CMakeLists.txt:6 (ocv_check_modules)
Configuring incomplete, errors occurred!
See also "C:/opencv_source/build/CMakeFiles/CMakeOutput.log".
See also "C:/opencv_source/build/CMakeFiles/CMakeError.log".
이건 어떻게 해결할수 있을까요? ㅜㅜ -
Iris 2019.05.15 14:23
빌드를 했는데 contrib에 있는 모듈이 전부 빌드가 되는거 같지 않네요 ㅠㅠ
SFM 모듈이 contrib에는 있는데 install 후에는 sample 안에 생성되지 않는군요.
이런 경우는 빌드된 라이브러리 넣어서 contrib에 있는 모듈을 빌드시키면 되는건가요?
혹시 인스톨이 잘못된건가요? ㅠㅠ-
cmake에서 configure 클릭후 보이는 로그에서 아래 부분을 확인해보세요..
To be built에 있다면 사용가능한 모듈이고
Unavailable 또는 Disabled에 있으면 사용할 수 없는 모듈입니다.
-- OpenCV modules:
-- To be built: aruco bgsegm bioinspired calib3d ccalib core datasets dnn dnn_objdetect dpm face features2d flann fuzzy gapi hfs highgui img_hash imgcodecs imgproc java_bindings_generator line_descriptor ml objdetect optflow phase_unwrapping photo plot python2 python3 python_bindings_generator reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking video videoio videostab xfeatures2d ximgproc xobjdetect xphoto
-- Disabled: world
-- Disabled by dependency: -
-- Unavailable: cnn_3dobj cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv freetype hdf java js matlab ovis sfm ts viz
-
-
김동현 2019.05.22 16:49
안녕하세요
cmake이후 pycharm을 실행하여 import cv2를 하면
인텔리센스가 안 뜨더라구요
bootstrap()이런 것만 뜨구
혹시 이건 어디쪽 문제일 수 알 수 있을까요?
코드는 정상작동합니다 -
HH 2019.05.28 16:16
cmake 설치 후
https://webnautes.tistory.com/776 를 따라 surf 코드를 돌려볼려고 하는데
처음 어디에다 코드를 쓰는건지 모르겠어요 -
jung 2019.05.30 20:52
안녕하세요, 자세한 설명 덕분에 많이 알아갑니다.
저 같은 경우 visual studio 2015 community, 2017 professional 두개 모두 설치가 되어 있고,
작성자님처럼 opencv-sorces 폴더를 만들고 그 안에 eigen, opencv_contrib-4.1.0, opencv-4.1.0-source 폴더를 넣어놓았습니다. 당연히 이 폴더들은 작성자님이 말씀해주신 싸이트에서 다운을 받은 파일을 압축해제하여 opencv-sources 로 붙여넣은 것입니다.
그리고 cmake 3.13.5 버전을 깔고 실행시켜 source code 경로는 C:/opencv-sources/opencv-4.1.0-source 로 설정하고, binaries 경로는 C:/opencv-sources/build 로 설정하였습니다.
그리고나서 Configure을 눌러서 Visual Studio 14 2015 win64 로 설정을하고 Finish를 눌렀는데 한 5개정도 생성이 되더니 Error in configuration process, project files may be invalid 라고 오류문구가 뜨면서 잘 안되는 것 같습니다...
Visual Studio 15 2017로 빌드를 하면 잘 빌드가 되는 것 같습니다만 2015로 하면 왜 빌드가 5개정도 되다가 에러메세지가 뜨는지 모르겠네요...visual studio 2015에 대한 환경변수 path를 설정을 해주어야 하는 것인가요...감이안오네요ㅠ혹시라도 해결책을 아신다면 답변 부탁드립니다ㅜㅜ -
-
궁금 2019.07.18 14:39
혹시 3.4.6 cmake빌드하는데 아래 처럼 똑같은 메시지가 몇시간쨰 계속 반복되는데 왜그런걸까요 7시간쨰입니다.
3>c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_20_intrinsics.h : warning C4819: ?꾩옱 肄붾뱶 ?섏씠吏(949)?먯꽌 ?쒖떆?????녿뒗 臾몄옄媛 ?뚯씪???ㅼ뼱 ?덉뒿?덈떎. ?곗씠?곌? ?먯떎?섏? ?딄쾶 ?섎젮硫??대떦 ?뚯씪???좊땲肄붾뱶 ?뺤떇?쇰줈 ??ν븯??떆??
3>c:\program files\nvidia gpu computing toolkit\cuda\v10.0\include\sm_20_intrinsics.h(925): warning C4819: ?꾩옱 肄붾뱶 ?섏씠吏(949)?먯꽌 ?쒖떆?????녿뒗 臾몄옄媛 ?뚯씪???ㅼ뼱 ?덉뒿?덈떎. ?곗씠?곌? ?먯떎?섏? ?딄쾶 ?섎젮硫??대떦 ?뚯씪???좊땲肄붾뱶 ?뺤떇?쇰줈 ??ν븯??떆??
3>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include\cuda_fp16.h : warning C4819: ?꾩옱 肄붾뱶 ?섏씠吏(949)?먯꽌 ?쒖떆?????녿뒗 臾몄옄媛 ?뚯씪???ㅼ뼱 ?덉뒿?덈떎. ?곗씠?곌? ?먯떎?섏? ?딄쾶 ?섎젮硫??대떦 ?뚯씪???좊땲肄붾뱶 ?뺤떇?쇰줈 ??ν븯??떆??
3>C:\opencv-3.4.6\opencv-3.4.6\modules\core\include\opencv2/core/types.hpp(524): warning : field of class type without a DLL interface used in a class with a DLL interface
3>
3>C:\opencv-3.4.6\opencv-3.4.6\modules\core\include\opencv2/core/types.hpp(526): warning : field of class type without a DLL interface used in a class with a DLL interface -
궁금 2019.07.19 09:57
matchtemplate 함수만 사용하려고하는데요,
속도를 많이 개선하고싶은데, eigen 을 사용하면 더 빨라질지 문의드려요. -
sudi 2019.08.08 17:56
opencv2/plot.hpp가 없었는데....따로 설치를 진행해야 되는군요.
덕분에 알아갑니다. 정말 감사합니다. -
gg 2020.03.30 17:41
안녕하세요, 좋은 자료 덕분에 큰 도움 되고있습니다 감사합니다!!
위에 올려주신 내용대로 진행하였는데 문제가 발생하여 글 남깁니다.
마지막 부분에서 OPENCV 프로젝트에서 debug, release로 설정하여 INSTALL을 빌드하는 과정에서 문제가 생겼습니다
release는 오류 없이 빌드가 성공했는데 debug로 설정했을때 'python36_d.lib 파일을 열 수 없습니다'라는 에러가 생겼습니다
해결하고자 여러 방법을 시도해보았지만 해결이 되지 않았습니다. 혹시 방법이 있을까요??
)환경은 글쓴이분과 같은 visual studio 2017이고 opencv-4.0.1, opencv_contrib-4.0.1, eigen-3.3.7 입니다
-
gg 2020.03.30 18:11
답변 감사드립니다!
이후에 opencv 프로젝트 설정하는 영상을 참고하여 설정을 진행하던 도중 문제가 생겼습니다.
(이 영상과 동일하게 폴더 구성으로 진행을 하였습니다)
프로젝트 속성에서 C/C++
추가 포함 디렉토리 : 설정 완료
프로젝트 속성에서 링커
추가 라이브러리 디렉토리 : ...build/x64/vc15/lib 경로로 지정하셨는데
제 폴더에서는 x64 폴더 안에 debug와 release 단 두개의 폴더만 존재합니다
프로젝트 속성에서 디버깅
환경 : 이부분도 마찬가지로 제 pc환경에서 dll파일 위치를 찾지 못하였습니다
혹시 답을 얻을 수 있을까요? -
gg 2020.03.30 20:25
사용한 OpenCV 버전이 어떻게 되나요?
-> 4.0.1입니다
혹시 debug와 release 폴더에 각각 포함되어 있나 확인해보세요.
-> 확인 결과 Debug, Release 디렉토리에는 ALL_BUILD, INSTALL, ZERO_CHECK 폴더만 존재합니다
lib와 dll 파일이 각각 포함되어 있다면 설정에서 사용하는 폴더로 복사해서 진행해보세요.
-> (opencv-4.0.1\x64\vc15\bin)폴더에 있는 bin 폴더와 lib폴더 전체를 사용하는 폴더로 복사해서 진행 해보았는데 빌드에 실패하였습니다.
-
끈질기게 따라가자.. 2020.06.02 17:16
안녕하세요? 동영상 잘 봤습니다.
따라하는 동안 몇가지 이상해서 질문드립니다.
우선 CMake에서 Configure시 다음의 오류가 납니다.
CMake Warning at cmake/OpenCVGenSetupVars.cmake:54 (message):
CONFIGURATION IS NOT SUPPORTED: validate setupvars script in install
directory
Call Stack (most recent call first):
CMakeLists.txt:1062 (include)
무시하고 VS2017에서 Debug 빌드시 다음과 같이 결과가 나옵니다.
29>CMake Error at modules/python3/cmake_install.cmake:44 (file):
29> file INSTALL cannot copy file
29> "C:/opencv-sources/opencv-4.0.1/modules/python/package/cv2/__init__.py" to
29> "C:/Program Files (x86)/Microsoft Visual
29> Studio/Shared/Python36_64/Lib/site-packages/cv2/__init__.py".
29>Call Stack (most recent call first):
29> modules/cmake_install.cmake:115 (include)
29> cmake_install.cmake:133 (include)
29>
29>
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: "setlocal
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: "C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmEnd
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmErrorLevel
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: exit /b %1
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmDone
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :VCEnd" 명령이 종료되었습니다(코드: 1).
29>"INSTALL.vcxproj" 프로젝트를 빌드했습니다. - 실패
========== 빌드: 성공 27, 실패 2, 최신 0, 생략 0 ==========
Release 입니다..
29>CMake Error at modules/python3/cmake_install.cmake:44 (file):
29> file INSTALL cannot copy file
29> "C:/opencv-sources/opencv-4.0.1/modules/python/package/cv2/__init__.py" to
29> "C:/Program Files (x86)/Microsoft Visual
29> Studio/Shared/Python36_64/Lib/site-packages/cv2/__init__.py".
29>Call Stack (most recent call first):
29> modules/cmake_install.cmake:115 (include)
29> cmake_install.cmake:133 (include)
29>
29>
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: "setlocal
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: "C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=Release -P cmake_install.cmake
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmEnd
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmErrorLevel
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: exit /b %1
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :cmDone
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
29>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(138,5): error MSB3073: :VCEnd" 명령이 종료되었습니다(코드: 1).
29>"INSTALL.vcxproj" 프로젝트를 빌드했습니다. - 실패
========== 모두 다시 빌드: 성공 28, 실패 1, 생략 0 ==========
실패하지 않게 할 수는 없을까요? 불안해서... -
-
dhdh 2020.06.27 17:25
영상 잘 봤습니다!
cmake 까진 이상없이 진행 했습니다.
opencv4.3.0과 contribute4.3.0을 이용하여 visualstudio2015 professional에서 진행을 했습니다.
x64 전용으로도 설정을 한 상태에서 빌드를 진행했는데 코드를 돌리자 마자 에러가 다음과 같이 뜹니다:
프로시저 시작 지점
?create@SURF@xfeatures2d@cv@SA?AU?$Ptr@VSURF@xfeatures2d@cv@@@3@NHH_N0을(를) DLL
C:\VSworkSpace\FeaturePoint_Matching\x64\Debug\FeaturePoint_Matching.exe에서 찾을 수 없습니다.
어느 부분에서 문제가 발생했는지 알 수 있을까요?
감사합니다.