"minGW" 검색결과 (27)
  • MinGW-W64 + glut32 예제 컴파일 하기

    이전에 올린 MinGW-W64 에 기본으로 포함 되지 않는 glut32 를 만드는 방법을 다음으로, 간단히 OpenGL GLUT Example 페이지에 있는 blender.c 예제를 컴파일 해 보도록 하겠습니다. 먼저 아래의 압축 파일을 특정 위치에 푼 다음 (blender.c 소스 포함임) 해당 위치에 기존의 glut32.dll 을 복사 해 두고 make 를 해서 blender.exe 를 만들 수 있습니다. 단, 이 소스를 빌드 하기 이전엔 반드시 glut32 를 MSYS 에 make install 로 설치한 상태여야 합니다. Windows 의 정책 상 DLL 이 EXE 와 함께 있거나, Windows system 폴더 안에 복사가 되어 있어야 하므로, DLL 을 먼저 복사 해 오는 것을 고려해야 EX..

    Developement/C/C++
    2017.10.24 16:51
  • GLUT 3.7 MinGW-W64 용 Makefile

    필요 사항MSYS 1.0 또는 그 이상의 버젼MinGW-W64 GLUT 3.7 컴파일 먼저 GLUT 3.7 소스를 아래에서 다운로드 받습니다.https://www.opengl.org/resources/libraries/glut/ 기본적으로 GLUT 3.7 은 MinGW 에서 빌드 할 수 있는 뭔가를 제공하지 않아서 문제 인데, 이걸 빌드 하려면 Makefile 을 모두 수정 해야 해서, 이걸 직접 만들었습니다. 이제 아래의 제가 만든 Makefile 을 다운로드 합니다. 다운로드 한 파일을 GLUT 3.7 의 압축을 푼 곳에 복사 한 다음, Make install 을 하면 /usr/local/ ... 위치에 컴파일 된 DLL 및 A 가 복제 됩니다. 이게 다 입니다. 어렵지 않습니다. make 한 다음 ..

    Developement/C/C++
    2017.10.23 18:46
  • MSYS 의 못생긴 아이콘 벗어나기

    MinGW 를 오래 쓰다 보면 아마 MSYS 를 다들 쓰고 있을 것으로 예상 됩니다. 하지만 MSYS 는 오래된 시간동안 아이콘이 전혀 바뀐적이 없다고 봐야 하는데, 기본으로 주는 아이콘이 영 별로 입니다. 2개 다 2K 나 4K 에서 보면 정말 처참한 아이콘들 인데, 이를 좀 개선 하고자 다음과 같이 아이콘을 하나 만들었습니다. 그래픽 따위는 소시적 도트노가다 말고는 한적 없는 흔한 개발자다 보니 이정도 말고는 이쁘게 만들수 있는 방법을 몰라 (머리속에야 여러 도안이 있겠지만) 최대한 깔끔 하게 요즘 윈도우10 이후 그래픽 형태에 맞게 만들어 보았습니다. 표준 Windows ICON 포맷이 여러 색상을 지원 해야 한다곤 하지만, 요즘 24bit 이상이다 보니, 32bit (alpha 포함)로 16x16..

    내가 작업한 것들/소프트웨어
    2017.09.05 12:07
  • libcurl 을 MinGW-W64 에서 빌드시 오류 해결 방법

    CURL(libcurl) 7.54.1 을 MinGW-W64 와 M-SYS 를 이용한 환경에서 빌드 하려고 하면 다음 화면처럼 오류를 뿜고는 진행이 안되는 경우가 많다. 보통 ./configure 를 통해서 자동으로 설정된 상태로 진행을 하게 되는데, curl 의 경우 MinGW-W64 (또는 M-SYS 내장 MinGW 도 동일) 에서 마지막 curl.exe 를 빌드 하는 와중 cur_easy_getinfo() 함수 등으로 link 실패로 이를 진행 하지 못하는 버그가 있다. 이는 Makefile 상에서 만들어진 버그 또는 환경 버그 정도일수 있어 보이는데, 간단히 export 로 CFLAGS 에 CURL_STATICLIB 을 지정해 주면 된다. 분명 ./configure 상채로 staticlib 생성이 ..

    Developement/C/C++
    2017.07.03 17:20
  • gcc/MinGW 6.x 부터 생긴 경고, misleading indentation

    gcc 5 버젼 부터 개발을 해 오던 librawprocessor 에서 눈치를 못 채고 있던 컴파일 경고가 뜨기 시작 한걸 이번에 알았습니다. 아직 major release 가 이루어 지지 않았기 때문에 신경을 덜 쓴 것도 있긴 합니다만, 갑자기 이 오류가 눈에 띈 것은 누군가의 계시인건지 ... 이 오류는 gcc 6 버젼 부터 강화된 여러 조건별 비교문에 따른 것으로 아래처럼 코드가 되어 있는 경우 발생 합니다. 이 오류는 GNU gcc 6 가이드 웹 페이지를 보면 나오는데,https://gcc.gnu.org/gcc-6/porting_to.html 아래 처럼 복합적인 비교문으로 포인터와 숫자로 넘어오는 값을 함께 비교 할 때에는 브레이스 {} 로 묶어 주어야 합니다. 그래서 아래처럼 코드를 변경 하면 ..

    Developement/C/C++
    2017.01.23 14:59
  • MinGW-W64, CPU 명령어 빌드에 맞춰 구동 테스트 하기.

    만약 MinGW-W64 (또는 일반 MinGW) 에서 -mavx 또는 -march=corei7-avx 와 같은 빌드를 지시해서 만든 바이너리를 배포 하는데, 만약 이를 구동하는 PC 가 AVX 관련 명령어를 지원 하지 않는 환경에서 해당 바이너리를 구동하면? 이럴 경우 해당 바이너리는 그냥은 구동이 되나, AVX 관련 명령어가 실행 되는 위치에서 exception 을 뱉고, 해당 callstack 은 이전 pc 로 돌아가나, 여기서 문제가 발생 해서 함수 자체가 멍청이가 됩니다. 그래서 배포한 바이너리가 내가 빌드한 환경과 자동으로 구동 될 PC 에서의 환경과 맞는지를 간단히 테스트 할 수 있는 방법을 gcc 는 물론 MinGW 역시 지원 합니다. 이를 확인 하기 위해서는 먼저 #include 에 를 넣..

    Developement/C/C++
    2016.11.28 14:11
  • MinGW-W64 용 DirectInput 소스 (키보드,마우스,조이스틱)

    MinGW-w64 프로젝트 부터 DirectX 관련 SDK 가 포함 되어 있으므로 윈도우 어플 개발에 매우 편리함을 얻을 수 있습니다만, MFC 처럼 뭔가 꽁꽁 묶여져 있는거 찾기가 사실 어렵다 보니 직접 만들어 써야 하는게 많은건 사실 입니다. 대신 쾌적함을 얻을 수 있는건 덤 이지만 ... 그래서 제가 진행 중인 프로젝트 중에 DirectX 의 2D, input 을 가져다 쓰면서 좀 더 편리하게 써 보고자 만들었던 것을 공유 하고자 합니다. 사용은 간단 합니다. 먼저 현재 사용되는 윈도우에 생성 부분 쪽에 InitDirectInput() 를 사용하여 Dinput 을 초기화 합니다. 이떄 반환되는 값은 HRESULT 가 아니라 DXINPUT_INIT_RESULT_KEYBOARD, DXINPUT_INIT..

    Developement/C/C++
    2015.12.15 13:53
  • DirectX 2D 창 메뉴가 안뜨면 창을 옮기리.

    부제: DirectX 2D 와 DSound 함께 쓰기 @ Windows7, 8.x 저번 주 에 있었던 DirectX 2D 를 좀 더 개선 하여 다음과 같이 구현 하였습니다.PNG 이미지를 가져와서 D2D 이미지(텍스쳐)로 사용 하도록 함.Dsound 로 WAV 파일을 가져와 출력 하도록함, 백그라운드와 클릭 시 나오는 소리 2가지. 상단 30px 안에서 마우스 왼쪽 클릭 해서 끌면 창 전체가 이동 하도록 함. 렌더링을 thread 로 하도록 함.약간의 UI 적인 요소. 별 대단한 기법이 들어 간 것은 아닙니다만, DirectX 2D 와 Dsound 겹쳐서 쓰는 예제들이 너무 없어서 직접 병합 해 보았습니다. 소스는 MinGW-W64 에서 빌드 되도록 되어 있으며, Code::Blocks 의 프로젝트를 사..

    Developement/C/C++
    2015.11.23 17:38
  • DirectX 2D 창모드는 안되는 건가...

    H/W 가속을 통한 각 Frame 영상을 화면에다가 그리려고 하니 어찌 DirectDraw 는 너무 오래된 API set 이라 DirectX 2D 를 쓰려고 노력 중 입니다. 다만, 대부분 2D 가속을 쓰는 게임들이 창모드로 실행 되는 방법을 알기가 어렵다는 난해한 점에 허우적 거리고 있습니다만 ... 이 방법을 찾기 위해 좀 노가다를 해야 할 듯 하네요. GDI+ 를 쓰느니 이걸 써야 겠는데 ... GDI 에 2K 이상으로 크기가 리사이즈 된 이미지를 그리려니 이 방법 말고는 답이 없어 보입니다. 아... DirectX ... 손도 대기 싫었는데 ... 빌드 가능 환경 = Code::Blocks + MinGW-W64 (DirectX API 포함된 상태)

    Developement/C/C++
    2015.11.20 16:59
  • MinGW 용 DirectX 8 input Joystick(조이스틱) 예제 (src, lib 포함)

    MinGW 에서 DirectX 쓰기란 MinGW-W64 오면서 참 많이 편해진 편 입니다만, 여전히 MSDN 에서 제공하는 기본 예제 조차 컴파일이 안되는 비극을 보면 갈 길이 멀어 보이기도 합니다. 이번엔 Joystick 을 DInput 으로 처리 하려니 되는게 없어 Wine 용 DirectX8 header 와 library 등을 MSDN 에서 제공하는 예제 소스와 함께 빌드 할 수 있도록 만들었습니다. 현재 이 소스는 MinGW-W64 기준 최신버젼 (5.1) 에서 빌드가 가능하며, CodeBlocks 에서 project 파일만 열어서 빌드 후 테스트 가능 합니다. 소스는 아래 첨부파일로 붙임을 하겠으며, 원래 소스가 MSDN 공개에서 가져 왔으며, DirectX8 기준이긴 하나, 이쪽 부분은 발전이..

    Developement/C/C++
    2015.08.04 14:21
  • MinGW w64 로 ffmpeg 관련 링크 오류 !

    minGW 의 버젼을 4.9.x 대로 올리면서 DirectX 와 기타 등등의 Windows 의 모든 걸 쓸 수 있도록 나오는 mingw-w64로 선택 했더니 ffmpeg 라이브러리에서 이런 오류가 나온다. unistd 에 포함되던 sleep, globalfree, glob, mkstamp 등이 기본 라이브러리에 없다는 말이다! 문제는 이게 4.9.x 버젼대에만 있는 것이 아니라 5.1 최신판도 마찬가지란 점... 해결책을 찾아야 하는데, 이걸 직접 내가 만들어 쓰는 것도 문제일 탠데 ... 방법을 찾는대로 이어서 포스팅 하도록 하겠다. 이 문제는 이전에 사용한 ffmpeg 을 새로운 minGW 로 빌드 하고, ffmpeg 에 다음 소스들을 수정 해야 한다. libavutil\file.c libavutil..

    Developement/C/C++
    2015.06.12 13:38
  • FLTK RTSP player ver 0.3.9.60

    이번 버젼은 오디오 응답성을 제외 하고 비디오 자원 낭비를 줄이고 (이전 버젼은 너무 빨리 그려서 이전 버퍼까지 그리는 바람에 떨림처럼 보이는 문제가 있었습니다) 덤으로 CPU 낭비도 줄였습니다. 이미 그린 프레임은 그리지 않으며, 이로 인해 pause->resume 시 약간의 딜레이가 있을 수 있습니다. 현재 지원은 사실상 들어오는 비디오 크기 모든 사이즈를 지원 하며 (720p, 1080p, 또는 2K, 4K 등등 ..) 이는 전적으로 CPU 성능에 렌더링 프레임 수가 차이가 나게 됩니다. Intel Core i5-4460 기준으로 1080p 60Hz 는 30+ frames/sec 로 그릴 수 있습니다. CPU 사용률은 20% 정도를 사용하고, 720p 는 역시 30+ frames/sec 로 그립니다..

    내가 작업한 것들/소프트웨어
    2015.04.22 09:42
  • FLTK를 이용한 RTSP stream player (Win32)

    이 프로그램은 현재 제작중인 엔진을 테스트 하기 위해 만든 프로그램이나, 일반적인 RTSP 환경에서도 쓸 수 있기 때문에 공개 합니다. 다만 이 프로그램은 PC 성능에 따라 rendering performance 가 차이가 날 수 있음을 먼저 밝히며, 오디오 기능이 빠져 있음을 알리는 바 입니다. 접속은 프로그램 실행시 바로 선택 할 수 있으며 기본으로 rtsp protocl 을 모두 지정해서 써 주셔야 합니다. 기본으로 테스트를 위해 만든 프로그램이다 보니 주소 오류에 대해서는 처리가 안되어 있음을 인지 해야 합니다. RTSP 서버에 붙게 되면 위 화면처럼 해당 스트림 크기로 자동으로 창이 조절 되면서 실행 됩니다. 아쉽게도 별도로 윈도우 크기를 조절할 수 있도록 만들어 지지는 않았습니다. 이 프로그램..

    내가 작업한 것들/소프트웨어
    2015.04.17 10:52
  • MinGW(gcc) 에서 pthread 를 찾을 수 없을때.

    회사에서 쓰던 pthread 를 집에서 동일하게 사용하기 위해 소스를 컴파일 하는 순간, pthread 를 찾을 수 없다는 컴파일러 오류 메시지를 보게 되는 경우가 생겼습니다.차이를 비교 해 보니, PC에 설치된 컴파일러 버젼이 차이가 있었습니다.(단, 이 방법은 말 그대로 Windows 에서 minGW 를 빌드 할때만 적용 됩니다.) 회사 : minGW 4.4.1집 : minGW 4.7.1 (TDM64-1) 과거를 되돌아 보니, 이전에 집에 설치한 minGW 4.5 버젼대는 FLTK 를 빌드할때 symbol 을 찾을 수 없다는 오류가 발생 하여 빌드를 할 수 없었던 것이 떠올랐습니다. 그래서 TDM package 로 내려받은 2013년2월11일 기준 최신 버젼을 유지해 본 것인데, 4.7 버젼 부터는 ..

    어떻게 할까/소프트웨어
    2013.02.11 13:19
  • MSYS : Windows 에서 리눅스 소스 빌드의 영광을 -

    -- 이번엔 어떠한 사진도 없습니다, MSYS 에 사진 따위는 사치 ... (라지만 올릴 사진이 없다는 것이 함정) -- Windows 는 애시당초 상용 OS 임에도 불구 하고, 자체 어플리케이션을 개발 할 수 있는 컴파일러나 환경을 전혀 지원 하지 않습니다. 일반적으로 Windows 를 단지 "단순한" 용도로만 쓰는 사람들이야 이런 개발환경을 고려 하거나 생각해야 할 부분이 전혀 없습니다만, 조금이나마 "무엇인가를 만들어 보겠다." 라는 창의성을 가진 사람이라면 이런 폐쇠적인 환경이 얼마나 (OS값이라고 지불해야 하는 금액을 생각하면) 불합리하고 오만한 Microsoft 의 환경에 자신이 처해 있는가를 알 수 있습니다. 혹시나 Visual Studio나 MFC 가 있는데 뭐가 걱정이지요? 하는 질문을 ..

    Developement/C/C++
    2012.12.04 14:28