VisualStudio2015 C++ MSB8020 에러 해결 MSB8020은 비주얼스튜디오 버전을 올릴 때 발생하는 에러입니다. 즉, 프로젝트 변환이 제대로 이뤄지지 않았다는 뜻이죠. 다음 오류가 발생했습니다. The requested operation is not allowed.'VSETHoops' 프로젝트를 업그레이드하는 중...구성 'CSCAM|Win32': 플랫폼 도구 집합을 'v140'(으)로 변경하는 중입니다(이전 도구 집합: 'v100').구성 'FANUC|Win32': 플랫폼 도구 집합을 'v140'(으)로 변경하는 중입니다(이전 도구 집합: 'v100').구성 'Debug|Win32': 플랫폼 도구 집합을 'v140'(으)로 변경하는 중입니다(이전 도구 집합: 'v100').구성 'CS..
MSSQL 2014 Express 설치, 다운로드 방법 (64비트) 1. 먼저 아래 사이트로 이동해 MSSQL 2014 Express를 다운받습니다. 과정은 링크 아래 그림 참조하세요. MSSQL 2014 Express 다운로드 - https://www.microsoft.com/ko-kr/download/details.aspx?id=42299 32비트용 x86과 64비트용 x64가 있는데 저는 OS에 맞춰 64비트 다운 받았습니다. 2. 저는 ExpressAdv 64비트를 실행했어요. 그러면 파일 저장을 위한 폴더를 선택합니다. 3. 두 개의 설치 메뉴가 보입니다. - 새 SQL Server 독립 실행형 설치 또는 기존 설치에 기능 추가 - SQL Server 2005, ... ... SQL Server..
MSSQL 2014 Express - Cannot find one or more components. Please reinstall the application MSSQL 2014 Express 설치가 정상적으로 끝났는데 이런 에러가 발생합니다. 처음 실행할 때 발생하는 에러인데, 이럴 땐 아래 두 가지를 따라 하세요. 1. 레지스트리 삭제레지스트리 편집기(regedit)를 실행하고 SQL Server Management Studio를 검색하세요. 아래처럼 검색이 될 겁니다. 여기서 12.0_Config 전체를 삭제하세요. 안에는 30여 개의 값들이 존재하는데 상관없습니다. 2. 아래 파일을 설치해주세요. 링크 : Microsoft Visual Studio 2010 Shell (Isolated) Redi..
[Qt프로그래밍] QString cout 출력하기 Qt프로그래밍할 때, 부득이 QDebug() 대신 cout 출력이 필요한 경우가 발생합니다. 이럴 땐 QString 변수를 바로 호출해 cout 출력하면 안 되고, 중간에 변환해야 합니다. QString.toAscii().constData() 를 사용해야 정상적으로 출력돼요. 123456789QString test_str("렌트카 타고 여행~"); std::string ascii_str = test_str.toAscii().constData();std::string utf8_str = test_str.toUtf8().constData();std::string locale_str = test_str.toLocal8Bit().constData(); cout
[Qt프로그래밍] GridView 꾸미기 (Qt로 바둑판 만들기) Qt프로그래밍에선 C# GridView 만들 때와 똑같이 QTableView를 사용합니다. C#과 이름은 다르지만, 용도나 사용 방법은 거의 같아요. GridView 크기는 아래 화면처럼 속성 창에서 조절할 수 있습니다. Qt프로그래밍이 C#보단 조금 불편한 게 있다면, C# 처럼 GridView UI 속성 창에선 이 이상으로 GridView 아이템들을 초기화할 수 없다는 것입니다. 일일이 손으로 코딩해야 합니다. (Qt프로그래밍도 나름 편한 측에 속하지만 C#은 압도적입니다) 이어서, 헤더 파일을 살펴보죠. GridView 안에 항목, 즉, 데이터를 넣으려면 QStandardItemModel 객체를 사용합니다. 12345678910111..
C# 비트연산 - 플래그 응용 (bit flag enum 연산자 예제) enum 플래그 속성은 대개 비트 연산자를 다룰 때 사용합니다. 예를 들면 이렇죠. 1myProperties.AllowedColors = MyColor.Red | MyColor.Green | MyColor.Blue;cs 플래그 자체를 더 효율적으로 표현하려면 .ToString()를 사용하는 것이 좋습니다. 123456789enum Suits { Spades = 1, Clubs = 2, Diamonds = 4, Hearts = 8 }[Flags] enum SuitsFlags { Spades = 1, Clubs = 2, Diamonds = 4, Hearts = 8 } ... var str1 = (Suits.Spades | Suits.Di..
Qt 에러 - FATAL ERROR : QMainWindow: No such file or directory Qt에서 GUI 프로그램을 제작할 땐, 항상 QMainWindow 클래스를 상속받는 과정이 필요합니다. 만약 아래처럼, QMainWindow 클래스를 참조하지 못할 경우 .pro 파일을 반드시 살펴봐야 하죠. 이건 Qt의 장점이자 단점이기도 한데, .pro 파일에 사용할 라이브러리를 기록해 두면 가독성이 높아지는 장점이 있습니다. 그렇지만 이곳에 라이브러리를 기입하지 않으면 아예 사용하질 못합니다. 대게 QMainWindow를 사용하지 못하는 경우도 이런 상황과 같아요. 일단, 에러 메시지부터 보시죠. In file included from /home/ubuntu/pcl/example/qt_vis..
ROS 자료형-ROS C++ 파이썬 비교 (c++ vs python) ROS 자료형과 소스를 보면 여러 언어로 구현 가능토록 제작사에서 배포합니다. 하나의 언어로만 구현하면 모르겠는데 왕왕 다른 언어를 사용할 일도 생겨요. 그러면 ROS 자료형에 C++ 파이썬까지 봐야 합니다. 아래 표는 ROS자료형과 ROS C++ 파이썬 자료형 비교표입니다. ROS 자료형은 표기가 좀 다르니 유의해서 보세요. ROS 자료형과 ROS C++ 파이썬 자료형 비교 Primitive type Serialization C++ Python bool unsigned 8-bit int uint8_t bool int8 signed 8-bit int int8_t int uint8 unsigned 8-bit int uint8_t int ..
C# 7세그먼트 디지털 시계, 숫자 (닷넷 UI 라이브러리) 참조 - Digital display control in C#.Net using GDI+예제 - digital_display_control.zip 아래 그림은 실행했을 때 보여질 화면입니다. 이쁘죠? 첨부된 예제 소스를 열어보면 아래와 같은 dll을 확인할 수 있습니다. 사용하고픈 프로젝트에 두 개의 dll을 참조 추가하면 사용할 수 있는데, 우선은 비주얼 스튜디오의 도구 상자에 dll을 드래그해서 해당 도구를 추가해주세요. 압축 파일을 풀면, ..\digital_display_control\Owf.Controls.DigitalDisplayControl\bin\Debug\Owf.Controls.DigitalDisplayControl.dll 파일..
C# 일반, static, sealed, abstract 클래스 차이점 Class 타입 일반 static sealed abstract 객체 생성 YES NO YES NO 상속 YES NO NO YES 상속 (다른곳) YES NO YES YES 그리고 sealed 클래스는 다른 클래스로 상속될 수 없습니다. 오로지 다른 클래스를 상속받는 것만 할 수 있습니다. 123sealed class MySealedClass : BaseClass // is ok class MyOtherClass : MySealedClass // won't compilecs 추신.위 표가 잘린다면 아래 그림을 보세요. C# 일반, static, sealed, abstract 클래스 차이점
비주얼스튜디오 Qt QWT 라이브러리 연동 (윈도우7, msvc2012) ㅂㅅ에서... 아니... QT에서 QWT를 Visual Studio를 이용하는 방법입니다. 아래의 글들을 읽어보신 이후에 진행해 보세요. 단, Qt Creator을 안 쓰고 Visual Studio만 사용할 경우엔 바로 비주얼스튜디오 연동 부분만 참조하세요(아래아래 아래 아래). 그리고 위의 포스팅을 참조할 때 명령어 입력 시 에러가 발생하면 아래 포스팅도 참조하세요. 참조 - Qwtのインストール・メモ :Qt:Qwt) 12qmake qwt.pro -spec win32-g++ -r CONFIG+=release mingw32-make release cs 정상적으로 설치 과정이 진행되면 아래의 사항을 참조합니다. Qwt를 컴파일할 때, ..
전역변수 문제점, 나쁜 객체지향 코드 (유지보수 망침) 전역변수의 문제점 비지역성, 비국지성(Non-Locality) 각각의 오브젝트들은 구현 범위가 좁을수록 이용하기 쉽습니다. 전역변수 문제점은 이와 정반대라 이해하기도 힘들고 사용하기도 힘듭니다. 접근 제어, 제약 조건 확인(No Access Control or Constraint Checking) 전역변수 문제점은 프로그램 내부의 어느 곳에서나 설정할 수 있습니다(Get, Set). 그렇지만 그 모든 설정을 기억하기도 힘들뿐더러 워낙에 많은 곳에서 다루다 보니 잘못된 접근 방법을 사용하여 에러를 유발합니다. 결과적으론 가독성과 신뢰성이 떨어지며, OOP에서 중요한 요소 중 하나인 은폐성을 갖추지 못합니다. 내포된 커플링(Implicit couplin..