The procedure entry point ??4QImage@@AEAAV0@$$QAV0@@Z could not be found in the dynamic link library QtGuid4.dll
여기서 QImage 클래스의 함수가 없다는 뜻인데 두 가지로 판단할 수 있다
1. DLL 이 잘못 만들어져서 함수가 포함되지 않았다
- DLL 다시 만들거나 버전 업그레이드를 한다
2. DLL 이 다른 dll 에 있는 함수를 사용하는데 그 함수가 없다
- 그 함수가 포함된 dll을 추가한다
Visual Studio에서 VTK 7.0에서
이 에러가 발생하면 다음과 같은 처리를 한다
1. 이 코드를 넣는다
#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2)
이 부분은 아직 확인이 안 되었는데 Interaction 작동이 안 될 수도 있다
2. 다음을 속성 - C/C++ - 전처리기(predefined) - 전처리기 정의 에 추가한다
이어서 붙여서 집어 넣는다
vtkRenderingCore_INCLUDE=
"D:VTK/Build/CMakeFiles/
vtkRenderingCore_AUTOINIT_vtkInteractionStyle_vtkRenderingOpenGL2.h"
- 이후에 다음과 같은 전처리기를 추가해도 좋다
왜 그런지는 모르겠지만
_CRT_SECURE_NO_DEPRECATE
_CRT_NONSTDC_NO_DEPRECATE
_CRT_SECURE_NO_WARNINGS
_SCL_SECURE_NO_DEPRECATE
_SCL_SECURE_NO_WARNINGS
VTK_IN_VTK
CMAKE_INTDIR="Debug"
Qt 디자이너는 비주얼한 디자인 기능을 갖춘 도구로서, 응용 프로그램을 구성하는 폼의 전부 혹은 일부를 개발하는데 사용될 수 있다
Qt 디자이너를 사용해 만들어지는 폼은 결국 C++ 코드로 생성되기 때문에, Qt 디자이너는 컴파일러의 다른 특별한 기능을 필요로 하지 않으며, 여러분이 즐겨 사용하는 프로그래밍 도구와 함께 사용될 수 있다
다이얼로그를 코딩만으로 작성하든 Qt 디자이너를 사용해 작성하든 상관없이, 다이얼로그를 만드는 과정은 항상 다음과 같은 기본 단계로 구성된다
1. 자식 위젯들을 만들고 초기화한다
2. 자식 위젯들을 레이아웃에 배치한다
3. 자식 위젯들의 탭 순서를 설정한다
4. 시그널/슬롯 연결을 만든다
5. 다이얼로그의 커스텀 슬롯을 구성한다
Qt 디자이너의 유저 인터페이스는 기본적으로 여러 개의 독립된 최상위 윈도우로 구성 되어 있다
다이얼로그를 만드는 첫 번째 단계는, 자식 위젯들을 생성한 뒤 이들을 폼 위에 배치하는 것이다.
레이블, 라인 에디터, 수평 스페이서를 각각 하나씩 생성한 다음 이어서 두 개의 푸시 버튼을 생성한다
버디 모드를 종료한다
이 다이얼로그를 디렉토리 안에 cell.ui 파일로 저장한 다음, 텍스트 에디터를 사용해 아래의 소스 코드를 같은 디렉토리 밑에 main.cpp 파일로 저장하자
Visual Studio에서 Qt를 사용하려면 기본 코드는 되지만
Dialog와 같은 것은 빌드 에러가 나기 때문에 사용할 수 없다
검색을 해보니
프로그램을 설치해서 연동을 해 주어야 한다
Qt5 Visual Studio Add-in 프로그램이고 현재 시점은 버전이 1.2.4이다
다운을 받는다
여기에 들어가서
official_releases -> vsaddin / qt-vs-addin-1.2.5.exe
를 다운 받는다
그리고 나서 설치를 한다
Add-In 을 설치하지 않으면 Visual Studio에서 Qt를 개발할 수 있는 것이 별로 없으니 반드시 설치해 주면 좋다
설치를 하고나면 상단 메뉴에 추가된 QT5 메뉴를 볼 수 있다
이후에 메뉴에서 QT5 -> Qt Options 에서 Qt를 설치했던 경로를 추가한다
추가가 안 되는 경우에는 이미지에서 표시된 레지스트리 경로를 통해서 version 항목을 모두 지우고 Qt 옵션에서 다시 경로를 등록하면 된다
* 간단한 프로젝트 생성 및 실행
소스를 직접 타자해서 Q_OBJECT 를 사용해도 되는데 나는 아직 성공을 못했다
그래서 그냥 Qt Project로 다시 생성해서 코딩한다
Base 클래스를 QDialog로 설정하고
성공하고 싶으면 다음 사이트를 참조하라