2012.01.13 12:30
분명 예전에는 모바일에서 티스토리에 글을 포스팅 하고자하면 아이폰에서는 공식어플을 사용하면되고 나같은 안드로이드 폰 사용자는 공식어플없이 대충 Blog API가 호환되는 어플을 사용하면 되었지만 카테고리 설정도 안되고 여간 불편한게 아니었는데...


▲ 티스토리 블로그의 모바일 화면

내 블로그의 모바일 페이지에 들어와서 보니 오른쪽 아래에 글쓰기 버튼이 떡하니 있는 것이다!
거기다가 사진을 첨부했을 때 일정 규칙으로(마치 태그처럼) 추가되는 텍스트의 위치로 이미지가 삽입될 위치도 지정할 수 있다.


▲ 글쓰기 화면 사진을 첨부하면 글 내용에 대괄호와 샵기호로 추가된다.

지금 이 글도 모바일에서 포스팅 하는 것인데... 이 정도면 왠만한건 그냥 밖에서 포스팅 할 수 있겠다. 입력이 좀 불편하고 정렬이 안되고 글자크기 등이 설정이 안되는 등.. 편집에 대한 옵션이 부족하지만 그건 포스팅하고 나면 나중에 수정할 수도 있고... 무엇보다 내용이 중요한 것이니까 말이다.

적어도 가끔 밖에서 사진찍고 "나중에 블로그에 올려야지" 하고나서 버려지는 사진은 좀 줄일 수 있지 않을까 생각된다.
신고

'Everyday' 카테고리의 다른 글

ArcheAge Note  (4) 2012.01.21
티스토리 모바일에서 포스팅하기  (1) 2012.01.13
Posted by Ianuarias
2012.01.13 10:24

 비주얼 스튜디오는 각 개발자가 주로 사용하는 언어에 따라서 최적화된(?) 개발 환경을 지원해준다. 그런데 이 부분이 단축키 등의 설정 또한 포함하고 있기 때문에 기존에 C# 개발 설정으로 사용하고 있던 나로써는 C++ 프로그래밍을 하고자 하니 왼쪽에 필요 없는 도구 상자라던가 속성 같은 사용하지 않는 창이 자리를 차지하는 현상이 생겼다.

▲ Visual Studio 2010 에서 제공하는 개발 설정들...
 

▲ C# 개발 설정 상태로 되어 있는 Visual Studio 2010... 도구 상자와 속성창이 자리를 차지하고 있다.

 최초 이 상태를 바꾸고자 했었을 때는 '대체 변경 옵션이 어디에 있는지'  굉장히 헷갈렸지만 이제는 잘 알지만! 글로 남겨둔다. (누군가 필요한 사람은 보러오겠지..)

▲ '도구 - 설정 가져오기 및 내보내기' 메뉴에서 개발 설정을 변경할 수 있다.

▲ 모두 다시 설정을 선택하고 다음을 누른다. (기본 설정 모음을 사용하기 위해)

▲ 현재 설정된 환경을 저장하고 싶다면 저장해 두도록 한다.

▲ 기본 설정 모음에서 변경할 개발 설정을 선택하고 마침.!

▲ C++ 개발 설정으로 바뀌어 코드를 쓰는 창이 넓어졌다!

 물론 개발 설정을 바꾸지 않고 그냥 쭉~ 써도 상관은 없겠지만.. 그래도 각각의 언어 특성에 따라 설정된 환경에서 코딩을 한다면 왠지 더 효율적이지 않을까?
저작자 표시 비영리 변경 금지
신고

'Tool > Visual Studio 2010' 카테고리의 다른 글

Visual Studio 2010 개발 환경 바꾸기  (3) 2012.01.13
Posted by Ianuarias
2012.01.12 22:32

나름대로 프로그래밍을 해오면서 이제 툴은 잘 쓸수 있겠지! 라고... 생각해 오고 있었는데... 그건 혼자만의 착각이었던듯 싶다.

나름 MS 친화적(?)이라고 생각하는데, DirectX를 공부해보기 위해 프로젝트를 생성하는 부분부터 막히니 지금까지 뭘 해왔나 싶었다.

C#하고 XNA나 Windows Phone 프로그램등을 Visual Studio에서 만들었음에도 불구하고, 이들은 모두 C# 언어이니 C++로 개발하는 DirectX를 하고자 Visual Studio의 개발 설정을 C#에서 C++로 변경하였더니 이건 또 전혀 다른 툴을 보는 느낌이었다.

1학년, 2학년때 까지 C언어를 썼었지만 이 마저도 한 1년 안쓰니 기억이 안나는 판에 생각해보니 C와 C++이 비슷하다 해도 많이 다른(?) 문제가 있어서 더 난감했다.

일단 프로젝트를 생성하는 부분에서 부터 막혔는데... C#이나 XNA 또는 WP의 경우 대충 Windows Forms 응용 프로그램이나 Windows 게임 등을 선택해주면 기본적인 상태가 갖추어진 상태로 시작하니 뭔가 "바로 할수 있겠다!" 라는 느낌을 받는데 반해 C++에서 DirectX를 하자니 MFC로 해야하는지 Win32로 해야하는지 아니면 그냥 빈 프로젝트로 생성해야 하는지도 알지 못하고 있다는 것을 알았다.

▲ DirectX를 하기위해서 Win32 프로젝트로 프로젝트를 생성한다.

▲ 프로젝트 생성시 '빈 프로젝트'로 생성하도록 한다.

 '내가 64비트 OS를 쓰니 Win64 프로젝트로 해야하는거 아닌가?' 라는 생각에서 부터 'XNA처럼 C++에 기본으로 셋팅되어있는 프리셋같은건 없나?'라는 생각까지 해가면서 여차저차 DirectX를 하기위해서 'Win32 프로젝트'를 '빈 프로젝트'로 만들어야 한다는걸 알게되었다.

(처음에는 '빈 프로젝트'를 선택하는걸 안하고 마침을 눌러 생성했더니 이것 저것 코드가 있는 상태로 시작되어 내 머리속에 떠오른 생각은... 이건 뭥미?)

 이제와서 생각해보면 Win32 프로젝트 생성이나 빈 프로젝트 같은 옵션들도 이미 알고 있었던 부분인데도 DirectX라고 생각하며 너무 특별하게 생각하고 있었던 것 같기도 하다.

빈 프로젝트로 생성하고나서 C#에 익숙한 나머지 당연히 새 클래스를 생성해야지 했다가 클래스 마법사가 나오는걸 보고 이건 뭘까... 내가 C나 C++을 이렇게 몰랐나라는 생각을 했다.
(내가 컴퓨터공학과 학생이 맞나... -ㅅ-)

▲ 그냥 적당한 이름(?)으로 cpp파일을 만들어주고 거기에다가 코딩하면 된다.

결과적으로 이제 코딩만 하면 되겠지! 라며 책에 있는 코드를 잘 따라 입력하여 컴파일을 했더니 뭔가 알수없는 오류가 나왔다. (중간에 Gooooogle 검색과정에 대한 이야기는 생략)

결론은 C#에 익숙한 내가 '포함 디렉터리(Include)'와 '라이브러리 디렉터리(Lib)'를 설정하는 것을 안하고 넘어간 탓이었다.

▲ 솔루션 탐색기에서 프로젝트명을 오른쪽 클릭하여 나오는 프로젝트 속성 페이지에서

VC++ 디렉터리에 있는 포함 디렉터리와 라이브러리 디렉터리에 각각 DirectX SDK 폴더내의 Include 폴더와 Lib 폴더를 추가해 주면 된다.

Lib 폴더를 설정해줄때 x86과 x64 두개의 폴더가 있는데 (각각 32bit, 64bit 개발을 위한 폴더) 기존 책이나 예제 들이 32bit 환경에서 쓰여져서 그런지 64bit OS라고 64bit를 선택했더니 소스가 제대로 컴파일 되지 않았다. (결론은 x86 폴더를 추가했다)

이렇게 VC++ 디렉터리만 추가하고 컴파일하면 물론 컴파일이 되지 않았다. 문득 생각난건데 C#같은 경우는 내가 대충하면 컴파일러가 알아서 챙기는 쪽이고 C++는 개발자가 다 챙겨줘야하는 그때서야 동작하는 타입인 것이라고 할 수 있을 듯 하다. (각각의 장단점이 있겠지만 개인적인 생각일 뿐이므로...)

방금전 디렉터리를 설정했던 속성 페이지의 링커 -> 입력의 추가 종속성에 DirectX 개발을 위한 라이브러리들을 잘 써주고 코드에 문제가 없다면 드디어 파란색으로 칠해진 윈도우를 볼 수 있으면 좋겠지만...

그대로 실행하면 error C2440 랑 error C2664 를 출력창에서 볼 수 있다. (험난하다)

검색신공을 발휘해본다면 대충 프로젝트 속성 페이지에서 구성 속성 -> 일반 에 있는 문자 집합의 설정이 어떻게 잘못되어 있다는 것을 알게되는데... 어쨌든 유니코드로 설정되어 있는 문자집합을 사용안함으로 하거나 멀티바이트 문자 집합 쪽으로 바꿔주면 제대로 컴파일이 된다.

▲ 구성속성 -> 링커 -> 입력 -> 추가 종속성에 DirectX 개발을 위한 라이브러리를 추가

▲ 위와 같은 문제가 발생하면 ▼ 아래와 같이 처리하라!


▲윈도우의 오류 화면을 연상케하는 Bluescreen!!

 결국 모든건 알면 쉽지만 모르면 헤매게 되는 듯 하다. 그래서 이런 글을 블로그에 쓰고 있는지도...
 (내가 나중에 까먹어서 헤맬까봐)

결론으로 요약을 해보자면 이렇다.

1. Win32 프로젝트 + 빈 프로젝트로 프로젝트 생성

2. 프로젝트 속성에서 VC++ 디렉터리 설정

3. 프로젝트 속성에서 링커의 추가 종속성을 설정

4. 구성 속성에서 문자 집합을 유니코드 외에 다른 것으로 설정

C# 이나 JAVA 랑 비교했을 때 분명 귀찮은 작업이 많지만.. 이것도 결국 익숙하냐 마냐 아냐 모르냐의 문제일 뿐인듯하다... 결국엔 이런 자잘한 것보다 알고리즘이 더 중요한 것일테고 프로그래밍 언어가 다 거기서 거기라고 누가 말했던 것 같던데... 으음... 한마디로 이런 Tool 사용법은 자주 하다보면 자연히 익혀지더라는 것...
저작자 표시 비영리 변경 금지
신고

'Programming > DirectX' 카테고리의 다른 글

Visual Studio 2010에서 DirectX 하기?  (3) 2012.01.12
Posted by Ianuarias