Qt LNK2001 LNK1120, moc 문제 (비주얼 스튜디오 2013) Qt를 비주얼스튜디오에서 사용하다 보면 moc 파일이 만들어지지 않아 LNK 2001, LNK 1120 에러가 발생할 수 있습니다.이럴 경우 ui 파일과 엮이는 헤더 파일을 수정하여 moc를 정상적으로 만들어 LNK 2001, 1120 문제를 해결할 수 있습니다. 먼저, moc 파일을 만들 수 있게 Qt 헤더 파일을 오른쪽 클릭한 뒤 속성을 선택합니다. moc 파일이 만들어지지 않는다는 항목 형식이 "빌드에 참여 안함"으로 되어 있을 겁니다. 이 부분을 아래처럼 "사용자 지정 빌드 도구"로 변경합니다. 일반 - 항목 형식 - 사용자 지정 빌드 도구 그러면 구성 속성 탭아래에 "사용자 지정 빌드 도구 - 일반" 탭이 새로 생성됩니..
Qt 버전 확인하는 방법 (리눅스 우분투에서) 내가 지금 사용하는 Qt의 버전이 가끔 헷갈릴 때가 있는데, 그럴 땐 터미널에 명령어 한 줄만 넣어주면 됩니다. 1qtchooser -print-envcs 위의 명령어 한 줄만 넣어주면, 아래 그림처럼 현재 사용 중인 Qt의 버전과 QMake의 버전까지 확인됩니다. 이 방법 외에, /usr/lib/ 하단의 qtchooser/default.conf를 수정하는 방법도 있는데 인위적으로 고치면 나중에 무슨 문제가 발생할지 모르니 추천하고픈 방법은 아닙니다. 설치된 Qt 버전이 여럿이고, 버전마다 작업 중인 프로젝트가 다르다면 『매번 Qt 버전을 확인』할 필요가 있습니다. 그럴 때면 이렇게 qtchooser 명령어를 사용해 확인해 보세요. 왜냐면 Qt5가 등장하면서..
CMake PCL Qt5, CMakeLists 구성 방법과 예제 PCL의 3rd party 라이브러리 중 하나인 vtk(visualizer toolkit)은 2016년 현재 Qt 4.8.4까지 지원하고 있다. Qt가 5.6까지 나온 것을 고려하자면 정말 너무할 정도로 호환성이 떨어진다. Qt가 버전 5부터 급격히 변화한 것은 사실이나, 그렇다고 해서 아직도 지원을 미루고 있는 현 상황은 내심 불만이다. Qt5 부터 지원되는 다양한 라이브러리를 PCL에선 현재 사용할 수가 없다. 만약 각종 뷰어를 안 쓴다면 PCL을 사용할 수 있으나, 뷰어가 필요하다면 Qt의 버전을 4.8.4까지 낮춰야 한다. 이런 결론을 얻을 수 있었던 건, 내가 Qt5를 이용해 각종 삽질을 해봤기 때문이다. 내가 실수한 부분도 있을 ..
비주얼스튜디오 Qt5 시리얼 연동 사용법 (VS + Qt) 이 포스트는 비주얼스튜디오에 Qt Add-in을 설치한 것을 가정합니다. 실제로 비주얼스튜디오를 이용한 Qt 프로그램 제작하는 분들에게 참조할만한 포스트입니다. Qt 크리에이터를 사용하는 경우엔 이 포스트와 내용이 다릅니다. 아래부터 비주얼스튜디오 + Qt5 + 시리얼 라이브러리 사용 방법입니다. (폴더는 각자 확인하세요) 먼저, C:\Qt\Qt5.3.2\5.3\msvc2012_opengl\include\QtSerialPort 폴더를 확인합니다. 5.x 이상에선 기본적으로 SerialPort 클래스를 지원합니다. 5.x를 설치했음에도 SerialPort 클래스 이용이 안 된다면 아래를 참조하세요. Visual Studio 프로젝트 속성 링커 - ..
Qt 프로그래밍 프로젝트, VisualStudio -> Qt Creator 변환 방법 이 포스트에서 소개하는 개발 환경은 Visual Studio 2012 + Qt 5.3.2입니다. Qt 프로그래밍에 필요한 팁입니다. 첫 번째 프로젝트의 한글 경로를 모두 제거합니다. 즉, 폴더 이름을 바꾸던지 다른 경로로 옮기세요. QtCreator은 한글 경로 인식 못 합니다. 비주얼스튜디오에서 할 수는 있는데... ... ... .. .. . . 두 번째 한글 경로를 변경하면 Visual Studio에서 사용하는 .pro.user 내부의 경로까지 바뀌진 않습니다. 그러하니 일일이 손으로 고쳐줘야 합니다만, 다행히 많은 양은 아니라 그냥 고칠 수 있어요. 12345678910ProjectExplorer.Project...
Qt toUpper(), 대문자 소문자 변환 (Qt3, Qt5 대소문자 차이) 요즘은 대게 Qt 5.x를 사용합니다. 그래서 4.x 이하의 예제를 가져다가 사용하다 보면 에러가 종종 뜨지요. 이번 포스팅도 그런 경우와 연관된 내용입니다. Qt 3.0 버전 이하에선 아래와 같은 소스도 허용이 되었습니다. 12char char_tmp = message_[0].toUpper();message_[0] = char_tmp;cs 그렇지만 이제는 QString에서 char을 받아들이는 것도, char에 QString 데이터 일부를 할당하는 것 조차도 허용하지 않습니다. 위의 그림처럼 초기화할 수 없다는 에러 메시지를 볼 수 있습니다. 에러 메시지cannot convert 'QString' to 'char' in in..
[Qt프로그래밍] 우분투 리눅스Qt 설치 방법 (Ubuntu 14.04 - 5.3.0) 일단, Qt5를 설치할 준비가 되었다는 전제하에 참조한 링크의 글 중 핵심만 요약합니다. 제 경우엔 패키지 호환성 문제로 삽질을 좀 했었네요. 모든 패키지 설치 텍스트 : 다운 [클릭] 참조 1 - Install Qt 5.3 in Ubuntu 14.04 [클릭] 우분투 14.04 기준으로 리눅스Qt 5.3 설치 시 패키지 선택. 32비트 wget http://download.qt-project.org/official_releases/qt/5.3/5.3.0/qt-opensource-linux-x86-5.3.0.runchmod +x qt-opensource-linux-x86-5.3.0.run./qt-opensource-l..