본문 바로가기

컴파일

(7)
MinGW 4.4.1 이상에서 GDI+ 사용시 컴파일 오류 날 시 이전에 올린 MinGW 에서 GDI+ 사용하기로 제공한 소스를 ...MinGW 4.4.1 또는 그 이상의 버젼의 컴파일러에서 GDI+ 를 쓰기 위해 기존 코드를 이용할 경우 다음 두 오류가 발생 합니다. GdiplusStringFormat.h:243: error: extra qualification 'Gdiplus::StringFormat::' on member 'GetTrimming'GdiplusMetafile.h:350: error: extra qualification 'Gdiplus::Metafile::' on member 'EmfToWmfBits' 이는 다음과 같이 해결 될 수 있는데, 좀 더 요긴 한 처리가 필요하긴 합니다. 먼저, GdiplusStringFormat.h 에서 (242~243 라..
Cygwin+GCC/G++ 에서 POSIX path 지정 오류 발생. (해결) 이전의 문제점 이던, CodeBlocks 에서 새로운 Cygwin w/ gcc/g++ 컴파일 오류는 다음과 같이 해결이 가능했습니다. 간단히, Cygwin 내에서 /usr/bin/ 내용을 확인 해 보니, 다음과 같이 연결 되어 있더군요. /usr/bin/g++.exe 는 /etc/alternatives/g++.exe 를 symbolic-link. /etc/alternatives/g++.exe 는 다시 /user/bin/g++-4.exe 를 서로 symbolic-link 하고 있었던 것 입니다. 그래서 CodeBlocks 에서 직접 /usr/bin 에 있는 g++.exe 를 실행 해서는 컴파일 결과를 얻을 수 없었던 것 입니다. 이 문제는 CodeBlocks 내의 옵션을 다음과 같이 설정 해 주면 됩니다...
[C/C++] precompile, 프리컴파일에 대해 ... 오랜만에 쓰는 강의 아닌 글이 입니다. 요즘 C 언어 한다고 자신감에 좀 쩔어 있는 몇몇 개발자들 보고 있으니, 프리컴파일이나 링크에 대핸 사전적인 지식은 전무 하더군요. (마소의 비주얼 스튜디오 덕분에 디버깅도 비주얼 스튜디오 없으면 할 줄 모릅니다 ... ) 윈도우는 리눅스나 유닉스 기반과 달리, OS 가 설치되면 컴파일러는 사용자가 알아서 설치 해야 합니다. 사실 일반 사용자가 컴파일러를 쓰는게 이상한 일일 수도 있겠습니다만 .. 적어도 개발 한다는 친구들은 이 컴파일러에 대해 좀 알아야 하지 않을까요 ? 어셈블리어 까지는 몰라도 내가 만든 코드가 어떻게 컴파일러에서 Object 로 바뀌는지는 좀 알았으면 하는 마음에 글을 한자 써 봅니다. 먼저 아래 이미지 처럼 .. hello world 틱한 코..
CodeJoke, 나보고 빌드를 하라는 거냐? 말라는거냐? 휴가중에도 회사에서 진행 되는 프로젝트에 테스트를 해 보아야 할 CodeJoke 라는 MFC 용 UI 라이브러리를 테스트 해 봐야 할 필요가 있어 일단 자주 죽는 PC 겨우 살려 테스트 해 보기 위해 SourceCode 를 받아 빌드를 하도록 노력 해 보았습니다. 만! ... 장난하냐 .. CodeJoke ... 빌드를 static lib 으로 시도 했습니다. 당연 이 컴터에 설치된 컴파일러 라곤 Visual Studio 2010 뿐이라, 2010 용으로 빌드! 대박 오류 부터 납니다. CodeJoke 가 이게 상용 라이브러리 인데 .. 왜 오류지? 하고 보니. 응? afxwin.h ? MFC 용 라이브러리 인가? 싶어 확인 해 보았습니다. afxwin, afxext 등등 .. MFC 에서 자주 쓰는 쓰..
minGW x86-64bit, DLL 빌드시 libc++ 문제 해결. 현재, 일반적으로 사용할 수 있는 컴파일러 중 64bit Win32.PE 를 생성 할 수 있는 것은 minGW 말고는 없는 걸로 알고 있습니다. 상용 컴파일러 로는 뭐가 있는지 알수 없기 때문이기도 합니다만 -_-;; intel 같은데서 나오는 컴파일러는 64bit 를 지원 하겠죠. 하지만 범용적으로 쓰기엔 어려움이 있으므로, 저는 gcc 의 windows 판인 minGW 를 사용합니다. 릴리즈 버젼 4.5.5 를 현재 사용하고 있으며, OpenSource 로서 SourceForge 에서 개인 릴리즈 버젼으로 다운로드 받을 수 있습니다. 언제나 그렇듯 ... minGW 는 상용 컴파일러가 아니므로, 해당 컴파일러로 만들어진 바이너리가 오동작 해도 그에 대한 warranty 는 전혀 없습니다! 현재 64b..
델파이 에서 C 코드 OBJ 로 함꼐 빌드 하기. 보통 윈도우용 프로그램을 만들때 delphi 보다는 C 로 만드는 것이 더 편리하거나 , C 로 잘 만들어진 라이브러리 등이 있는 경우 이를 delphi 에서 쓰려고 하면 별도로 DLL 을 만들어야 하는 불편함이 있긴 했습니다. 그러다가 BCC32 를 통해서 볼랜드용 COMF 포맷 OBJ 를 만들어서 delphi 내에서 LINK 하여 사용할 수 있다는 것을 이곳을 통해서 알게 되었습니다. 참조한 곳에서 설명은 command line 을 통해서 빌드하는 방법 이었지만, 이는 BCC32 환경을 구축해야 하는 어려움이 있기 때문에 다목적 컴파일러 IDE 인 CodeBlocks 를 통해서 obj 를 생성하여 delphi 에 link 해 보았습니다. 먼저 제가 사용한 방법은 debug 용 obj 를 통해서 del..
CodeBlocks 에 minGW w64 컴파일러 붙이기. 대부분 숙련된 개발자가 아니고서는 CodeBlocks 니 minGW 니 하는게 뭔소린지 모르는게 당연합니다. 하지만 좀 더 개발에 임하고 컴파일러가 뭔가를 깨닫기 시작하면 컴파일러의 소중함과 개발 환경의 중요성과 그에 따른 필요성 등을 깨닫게 되겠죠. 하지만 세상에 그런걸 혼자 알아서 다 하는 사람이 얼마나 있을까요? (저라면 귀찮아서 안할지도 ... ) 그래서 저 하나 고생해서 소소한 도움이 되고자 CodeBlocks 와 minGW 64 를 함께 붙이는 작업을 그림과 함께 소개해 보고자 합니다. CodeBlocks 의 경우 기본적으로 32ibt minGW (버젼 3 대) 를 포함하고 있는 패키지가 있습니다. 하지만 64bit 를 포함하는 것은 없죠 . 즉, 64bit minGW 를 붙이려면 직접 사용자..