반응형

잘은 모르겠지만 아마 프로젝트에서 라이브러리 끼리 런타임이 달라서 그러는 것 같다.

불일치가 검색되었습니다. 뒤에 Mt 뭐시기 값이 Mtd 뭐 이런식으로 안맞다는데

그냥 맞추면 끝나는 문제!

 

프로젝트 오른쪽 클릭 > 속성 > ("프로젝트 이름" 속성 페이지) 에서 구성 속성 > C/C++ > 코드 생성 > 런타임 라이브러리

이걸 맞춰주면 된다. 

내가 맞춘 방법으로는 

오류에서 MT_StaticRelease 값이 MD_DynamicRelease 뭐 이런식으로 떴었는데 MD_DynamicRelease 쪽꺼가 내 프로젝트꺼고 MT_StaticRelease가 라이브러리 쪽 같아서 그냥 내 프로젝트를 MT_StaticRelease쪽에 맞췄다. 그냥 런타임 라이브러리 설정에서 MDMT로 바꾼거

이런식으로

 

요약하면 

'RuntimeLibrary'에 대해 불일치가 검색되었습니다. 'MT_StaticRelease' 값이 'MD_DynamicRelease'(프로젝트 이름.obj에 위치) 값과 일치하지 않습니다.

이럴 때 프로젝트의 속성 페이지에서 구성 속성 > C/C++ > 코드 생성 > 런타임 라이브러리MT로 바꿔주면 끝!

 

그리고 더 찾아본 것인데.

MT정적 라이브러리로 연결해서 dll 파일로 동적으로 연결하지 않고 exe에 다 넣어서 정적으로 실행되게 하고

MD동적 라이브러리로 연결해서 dll 파일이 필요한 건데..

https://cheongpark.tistory.com/16

 

DLIB & OPENCV 진짜 쉽게 깔아보기 C++

학교에서 프로젝트를 받아버려서.. 해야하는 상황.. 내 프로젝트를 위해선 DLIB와 OPENCV가 필요한데.. 정말 2~3일동안 수없이 도전해보다가 굉장히 간단한 방법을 찾아서 알려줄까함! (왜이리 dlib는

cheongpark.tistory.com

여기에서 DlibVCPKG로 깔았었는데 난 이때

이 항목이 있어서 그냥 깔아봤다. 근데 여기에 필요한 거였다..

VCPKG로 깔은 것도 정적 라이브러리로 가능한가보다..

 

그래서 속성 페이지로 들어가보니 VCPKG라는 항목이 있는데 거기에 자세히 보니 Use Static Libraries 이런게 있었다.

그래서 정적 라이브러리로 만드는건가 해서 예로 바꿨더니..!

빌드 해서 보니 원래는 사진에 관한 dll 파일들도 막 생기고 그랬는데..

이젠 안생긴다!

다만 윈도우 버전에 따라 필요로 하는 dll 파일들은 생기지만..

 

뭐 어쨌든 더 좋아진 것 같다!

 

암튼 끝

반응형
반응형

QT를 빌드하고 실행해보면 이상하게 제목처럼 Qt6Core.dll Qt6Gui.dll Qt6Widgets.dll 이 세개의 파일이 없다면서 실행을 거부해버린다.

뭐 저걸 찾아서 넣으면 된다만.. 도데체 어딨지 했다는..

 

그래서 찾아보니 다른 사용자들도 사용할 수 있게 배포를 하기 위한 명령어가 있었다는걸..

windeployqt

이거

 

자신이 QT 프로젝트를 만들 때 사용했던거.. Visual Studio로 했으면 MSVC 2019 이런거..

어쨌든 설치했다면 Qt 버전 (설치 된거) 뭐 이런식으로 뜰꺼다..

내껀 이렇게 

그래서 이걸 실행해서 여기에다가 windeployqt "exe 파일 경로" / 예) windeployqt "C:\Users\Deploy\QtProject.exe" 이런식으로 입력하면

엄청난 여러가지 문구가 뜨면서

대충 이거하고 여러가지 dll 파일들을 생성하면서 다른 컴퓨터에서도 구동할 수 있게 파일을 만들어준다..

 

근데 문제는 엄청 귀찮다.. 그리고 명령어가 생각 안날 때도 있다.

 

그래서 Visual Studio 경우 설정을 찾아보니

Qt Project Setting > Run Deployment Tool 이 있었다.

이걸 이용하면 될 것 같아.

어차피 테스트는 디버그에서 할꺼라 Release에서 하는 경우는 배포용으로 빌드 할 때 밖에 없기 때문에

 

구성을 Release로 하고

이런식으로 예로 바꾸니

 

바로 빌드 하자마자 windeployqt 이 명령어 없이 바로 배포 파일들을 생성해주었다..!

근데.. 자주 테스트로 컴파일 해보는 거에다가 저걸 하는건 않좋을 것 같다.. 너무 느려..

 

뭐 어쨌든 요약!

3가지 파일이 없는 이유는 배포 툴로 파일들을 생성 안한 것이며 생성을 간편하게 할려면 Visual Studio의 경우 속성 페이지로 가서 구성 속성 > Qt Project Setting > Run Deployment Tool로 바꿔주면 Release로 빌드 할 때마다 배포 파일로 자동으로 만들어줌!

아니면 windeployqt "exe 파일 경로" 이 명령어로 해도 상관없음!

반응형
반응형

CVUI를 사용하여 OpenCV의 사진에다가 UI를 넣을려고 하는데

내가 코드에 쓰는 CVUI 함수들 마다 다 저딴 오류가 뜬다..

 

이거 그냥 간단하게 해결이 가능하다.

 

해결

상단에 #define "cvui.h" 하기전에 #define CVUI_IMPLEMENTATION이것만 추가하면 된다.

 

#include "cvui.h"

이걸 이렇게

#define CVUI_IMPLEMENTATION
#include "cvui.h"

 

요약

그냥 cvui.h 가져올 때 그 위에 "#define CVUI_IMPLEMENTATION" 이거 추가하기

반응형
반응형

내가 문제 생겼을 때 보기 위한 오류해결

  • C2146 : ';'이(가) 'pixel_type' 식별자 앞에 없습니다. 
  • C2027 : 정의되지 않은 형식 'dlib::image_traits<image_type>'을(를) 사용했습니다.
  • C4430 : 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다.

일단 저기 Don't add anymore은 그냥 지금 프로젝트를 계속 여러번 테스트하며 하고 있어서 더 이상 추가안한다는 것

 

Dlib 라이브러리를 쓸 때 가끔 이래 뜬다..

이 오류는 내 문제에 대한건 그냥 dlib에 이미지 파일을 넣을 때 그 함수의 지원되지 않는 이미지 변수를 넣어서 그런 것 같음..

 

해결

해결 방법은 그냥 dlib가 지원하는 이미지 변수로 넣으면 아마 될 것이다..!

auto face = detector(camImg);

내 경우 얼굴 인식 때문에 하고 있는데

현재 저 camImg가 OpenCV의 Mat 자료형이다.

 

근데 Dlib에서 OpenCV의 자료형을 넣어버리면 분명 오류를 낼꺼다.. 자기꺼도 아닌데 (왜 넣냐고 나보고 어쩌라고..) 할 것이다.

그래서 간단하게 해결할려면 Dlib에서 지원하는 자료형으로 변환하면 되는 것임!

dlib::cv_image<dlib::bgr_pixel> cimg(camImg);
auto face = detector(camImg);

이렇게 하면 되는 것임..!

dlib의 cv_image가 OpenCV의 이미지를 Dlib의 매트릭스로 바꿔주는 그런 것인 듯

 

어쨋든 그런 것임!

 

요약

Dlib가 지원하는 자료형으로 이미지 넣으면 됨

반응형
반응형

Windows로 OpenCV를 CMake로 빌드할 때

이런식으로 여러가지 오류가 뜬다!

(하하.. 이것 때문에 MSYS도 깔고 그랬는데도 안됬었다..)

 

제일 큰 문제는 저런식으로 Cannot copy output executable, Recorded try_compile output location doesn't exist:

이런식으로 여러가지 뜨는 문제는 아마도 버전 문제인 것 같다...

 

3.25.0 rc3 버전으로 깔아서 Configure을 눌르면 저런 오류들 뜨면서 안된다..

 

위와 말했던 것 처럼 이건 버전 오류인 것 같고..

3.24.2버전이나 그 아래 버전으로 새로 다운받아서 설치하면 정상적으로 Configure(설정)이 된다..!

 

(학교에서 프로젝트 숙제를 받아서 노트북을 새로 빌리고 (교사용으로) 새로 필요한거 빌드 하고 있었는데 하하하.. 이젠 다른걸 빌드 해야한다..)

새로 다운받아서 하니 이렇게 오류는 전혀 안뜸!

 

요약

이런 식의 오류가 나오면 현재 버전을 지우고 그 아래 버전으로 다운 받아서 새로 설치 후 다시 설정해보시길 바랍니다~~

반응형

+ Recent posts