본문 바로가기

MS

Manually set dropdown list for combobox on MFC [VC++, MFC] How to set ComboBox DropDown HeightThis is a good example of how messy working with MFC can be. Something apparently so easy could take a lot of time to figure out, so here you can find two easy ways out: 1) Designer - through the designer by default you can just resize the ComboBox width. If you want to resize the Drop Down List height you need to click on the dropdown arrow on the .. 더보기
Jsoncpp 사용시 문제점 jsoncpp를 빌드해서 static으로 사용 하고 있는데 release로 빌드 하면 아래와 같이 에러가 난다. ../lib_json/json_value.cpp : fatal error C1083: 컴파일러 생성 파일 파일을 열 수 없습니다. '../../build/vs71/release/lib_json/json_value.asm': No such file or directory 그렇다면 jsoncpp 라이브러리 빌드 시 구성속성 > c/c++ > 출력파일 > 어셈블리 출력 속성을소스코드로 구성된 어셈블리 (/FAs) --> No listing으로 변경후 빌드 해서 나온 lib파일로 적용 하자 더보기
_chkstk http://www.codeguru.com/cpp/v-s/debug/article.php/c19241/Adventures-with-chkstk.htm 더보기
VS2008 C1859 에러 대응방법 unexpected precompiled header error, simply rerunning the compiler might fix this problem 갑자기 멀정하던 프로젝트가 C1859 에러를 뿜어 낸다면 아래 링크에 가서 패치 하도록 한다.참고로 아래는 영문버전 VS2008 임. http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=25785 더보기
live555 IPV6 지원 live555는 아래 링크를 보면 알겠지만 ipv6를 지원할 마음이 없는 것 같다. http://www.live555.com/funded-projects/live555_ipv6.html 덕분에 고생좀 해서 live555에서 ipv6를 지원 하도록 변경 했다. 주요 변경 포인트는 groupsock의 socket connection부분 이다. (livemedia와 baseEnvironment도 조금 씩 수정 되었음) AF_INET --> AF_INET6 sockaddr_in --> sockaddr_in6 MAKE_SOCKADDR_IN --> MAKE_SOCKADDR_IN6 #define MAKE_SOCKADDR_IN6(var,adr,prt) /*adr,prt must be in network order*/\.. 더보기
custom inet_pton inet_pton이 Windows server 2008부터, Windows vista부터 지원한다는 걸 뒤늦게 알고 엄청 삽질 했다.ipv6를 미리미리 염두하지 않고 xp update를 종료한 ms에게 심심한 뻐큐를 날려본다. 017: #define NS_INT16SZ 2 018: #define NS_INADDRSZ 4 019: #define NS_IN6ADDRSZ 16 020: 021: static int inet_pton4( const char *src, unsigned char *dst ) 022: { 023: static const char digits[] = "0123456789"; 024: int saw_digit, octets, ch; 025: unsigned char tmp[NS_INADD.. 더보기
기존의 32bit코드를 64bit로 변경 할 때 나같은 경우는 x64 configuration으로 변경 후 빌드를 해보니 nafxcw.lib파일을 찾을 수 없다고 나왔다. 그래서 구글링을 하다가 아래와 같은 링크를 발견 하고http://bluemallow.tistory.com/4 Microsoft visual studio 2008 cd를 넣어서 x64 Compilers ans Tool을 설치 하고 다시 빌드를 하니 빌드는 성공 하였다. 그러나 32bit 변수와 64bit 변수의 상관관계에 대한 문제는 있을 것이다. 참고: http://blog.naver.com/PostView.nhn?blogId=zbaekhk&logNo=187182129 더보기
SHANDLE_PTR 에러 문제 본론부터 설명 하겠다. 문제의 발단은 DXSDK 8.0의 파일 중에 basetsd.h파일과 Microsoft SDKs/Windows/v7.0/Include에 있는 basetsd.h파일과 동일하기 때문이다.. 엄밀히 말하자면 #ifndef _BASETSD_H 로 두개의 파일 전부다 define이 동일 하다 -_- ms가 잘못한 것인가.. dxsdk만든 ms가 잘못한 것인가 아무튼 ms 이놈들이 뭔가 버그를 심어 놓은것이다. 해결 방법을 구글링 해보면 dxsdk를 9.0으로 바꾸든지 하라는데 난 꼭 8.0으로 써야한다. 8.0으로 되어있는 걸 언제 전부다 9.0으로 리팩토링 할 것인가?? 이런 무의미한짓은 하고 싶지 않다. 고민한 결과 아래와 같이 하면 된다. #ifndef _BASETSD_H 로 되어 있는.. 더보기
r6034 attempt to load the C runtime library incorrectly 컴파일 다하고 debug 모드에서 실행시킬려고 하니까 아래 R6034 에러(아래그림)가 떴다. (그림은 인터넷에서 가져온 것이지만 에러내용은 동일) 한참 구글링해도 manifest가 어쩌고 저쩌고 하는 내용이었고, 나는 이미 vs 2005에서 컴파일한 터라 더 이상 어떻게 할 게 없었다. 막막한 마음에 혹시나 해서, 컴파일시 warning을 보니 MSVCRTD.lib(cinitexe.obj) : warning LNK4098: defaultlib "msvcrt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library 라는 warning 이 맨 마지막 줄에 있었다.... 사실 이 warning은 자주 나타나는 거라서 그냥 warning 수준에서 무시.. 더보기
GDI+ 설정방법, 이미지출력, 투명화, 더블버퍼링, 이미지회전, jpg생성, 글자 출력, GDI와 데이터형 변환 출처 : http://blog.naver.com/najira00/60058229279 여지껏 GDI를 사용하다가 vc++ 2005로 갈아타게 되는 김에 GDI+를 한번 공부해보았습니다. GDI+는 GDI에 업그레이드 버젼이며, 자세한 정보및 강좌는 제 블로그 Library란에 보시면 강좌가 링크되어있습니다. 저는 잘 못느끼겠지만..속도는 GDI보다 느리다고 하더군요. 그렇지만 한번 GDI+로 코딩하면서 느낀것은 너무너무 간편하다는 점이였습니다. 코딩이 달랑 몇줄에 끝나기도 하고... 별다른 코딩없이 JPG등의 파일을 생성하기도 하고 제어하기도 한다는점이 매력적이였습니다. 왠만한 함수들은 이미 구현이 되어있더군요. 어쨌든 gdi+를 처음 해보시려고 하는 분들에게 작은 도움이 되지 않을까 해서 이렇게 글을 .. 더보기