이 소스를 Dev C++로 컴파일하려면 어디를 수정해야 할까요?
글쓴이: u235 / 작성시간: 월, 2013/03/18 - 1:16오후
첨부한 소스는 iso 9660 파싱을 위한 클래스와 간략한 예제가 있습니다.
대략적인 소스분석은 완료 됐는네요. 리눅스 make용으로 짜여진 것입니다.
따라서 시그윈에서는 제대로 컴파일이 되지만.
이것을 네이티브 Win32에서 쓸수 있도록 하려면 Dev C++로 컴파일돼야 할텐데요.
컴파일시 복사생성자, 소멸자, 변수 스코프 등등 에러가 나오네요.
DevC면 같은 GCC로 컴파일된 것인데 이런 차이가 발생하는 이유가 뭔가요?
아니면 Dev C++에서 설정을 잘못한건가요?
어떻게든 Example 폴더의 간략한 예제만 컴파일되면 됩니다.
고수님의 조언 부탁드립니다.
아래 링크는 파일을 가져온 곳인데 클래스/헤더 파일의 참조상황이 그림으로 나왔습니다.
http://libcdio.sourcearchive.com/documentation/0.78.2plus-pdfsg1-3/iso9660_8hpp.html#_details
File attachments:
첨부 | 파일 크기 |
---|---|
libcdio_0.81.orig_.tar.gz | 2.14 MB |
Forums:
DevC에서 작업은 이렇게 했습니다.
1. 새 콘솔 프로젝트 생성
2. 프로젝트 우클릭 → 옵션 → 파일/디렉토리 → 인클루드 파일 디렉토리 → 소그의 include 추가
3. Example 폴더의 예제코드를 main.cpp에 저장 그리코 컴파일.
한번은 컴파일이 되기는 했습니다.
그다음은 아무리해도 죽어도 안되네요.
DevC에서 컴파일이 되는지 테스트 바라오며 에러나는 이를 밝혀내고 싶습니다.
James Gostling
그냥 mingw 쓰세요. dev c++은 별로 좋은
그냥 mingw 쓰세요.
dev c++은 별로 좋은 툴이 아닙니다.
그리고 어차피 dev c++도 컴파일러는 mingw입니다.
네 썩 좋지가 않은것 같더군요.
결국 하나하나 커멘드를 치라는거군요.
그렇다면 익숙치 않지만 에디터는 VS로 하고 ming의 gcc나 cc를 직접 쓰는 방법을 구사해야겠군요.
만약 요런걸 vs로 컴파일을 시도하는건 진짜 천부당 만부당한 짓이겠죠?
James Gostling
> 결국 하나하나 커멘드를 치라는거군요. 아니요.
> 결국 하나하나 커멘드를 치라는거군요.
아니요. 주어진 빌드 환경을 이용하되 컴파일러만 mingw로 쓰라는 뜻이겠지요.
잠깐 보니 mingw32용 빌드환경이 있던데요.
> 그렇다면 익숙치 않지만 에디터는 VS로 하고 ming의 gcc나 cc를 직접 쓰는 방법을 구사해야겠군요.
익숙치도 않은데, 굳이 VS를 에디터로 쓸 이유가 있을까요. 에디터야 익숙한걸 쓰면 됩니다.
> 만약 요런걸 vs로 컴파일을 시도하는건 진짜 천부당 만부당한 짓이겠죠?
소스나름이겠지만, 천부당 만부당까지야. 그런데 굳이 그럴 필요가 없는것이겠지요.
정말 귀신이 곡할노릇은 ...
익숙한건 VS고요. 따라서 첨에 VS로 시도했었습니다.
에건뭐 에라가 끝도없이 나오더군요.
그래서 DevC를 전환했는데요.
정말 이해가 안되는건 처음에는 예제에서 점하나 안고치고 기막히게 컴파일이 됐거든요.
무슨일인지 그다음부터는 아무리해도 이것저것 에러만 뿜고 안되네요. (재설치로도 못함)
PS : 컴파일 기본값은 mingw 입니다. 다만 안시옵션등 선택사항을 만저봐야겠군요.
아무튼 무척 궁금하오니 DevC가 있으신분은 컴파일한번 해보시기 부탁드려요.
James Gostling
빌드환경을 msys를 사용하라는 것이지요. 그래야
빌드환경을 msys를 사용하라는 것이지요. 그래야 편하지 않겠습니까?
./configure; make
면 끝나니까요. msys는 mingw distribution에 포함되어 있는 쉘 환경입니다.
./configure; make 를?
네 그건 Posix의 특권으로 알고있었는데 msys를 쓰면 Win32 에서도 가능했었군요.
그건 금시초문인데요? 충격!!!
혹시 잘못들었나 하고 찾아보니 위키에 관련 설명이 잘 나왔군요.
http://ko.wikipedia.org/wiki/MinGW
그게 DevC에 비스무리하게 들어있는것과는 다른가요?
James Gostling
mingw 정말 신세계네요.
지금까지 posix에서 배포되는 코드를 win32에서 사용하기 위해서는
VS로는 절대 컴파일되지 않으므로
오직 우분투에 크로스 툴체인을 구축해서 컴파일하거나 시그윈밖에 몰랐는데요.
mingw라는 신세계가 있었음을 이제야 알았습니다.
이제 방법을 알았으니 열심히 코딩만 하면 되겠군요.
답변주신분께 정말 감사드립니다.
혹시 주의할점 등이 있다면 조언 부탁드립니다.
James Gostling
참고
참고 http://gnuwin32.sourceforge.net/
저 딴소리기는 한데....
Dev c++쓰시지 말고
codeblocks 사용하세요. dev c++ 개발 끊긴지 한참되서 말이죠;;;
참고로 codeblocks에서 dev c++ 플러그인 쓸 수 있습니다.
좋은소개 감사합니다;
제가 그리 신버전을 선호하는 스타일은 아닙니다만. (우분투도 10.4 고정)
DevC 사실 너무 꼬져요.
차라리 이클립스에 세팅해서 쓰는게 낮지않을까 하는 생각이 들정도네요.
다만 이클립스는 APK 하면서 크게 데인적이 있어 선뜻 손이안갈뿐 ...
Codeblocks는 자주 들어본건 아니지만 알게됐으니 꼭 써보겠습니다.
그래도 첨부소스가 맨처음 Dev C++에서 어떻게 컴파일이 가능했었는지는 영원한 미스테리로 남지않을까 합니다.
봉사 문고리 잡은거나 같지만 다시는 죽어도 안되는게 진짜 궁금해요.
James Gostling
> 그래도 첨부소스가 맨처음 Dev C++에서 어떻게
> 그래도 첨부소스가 맨처음 Dev C++에서 어떻게 컴파일이 가능했었는지는 영원한 미스테리로 남지않을까 합니다.
별로 궁금하진 않지만, 아마도 추측컨데,
최초에 "컴파일"만 하신게 아닐까 싶네요
이후부터는 링크까지 하다가 에러가 났을테고요
앞서 설명하신 방법 ( 예제소스파일 하나만 추가하고, 인클루드 디렉토리 디렉토리만 설정) 으로는
절대로 제대로 빌드할 수가 없어보이는데요..
잘 생각해보니..
lib 폴더에 들어있는 .c .h 도 모두찾아 프로젝트 소스트리에 끌어넣은것 같습니다.
다시는 그렇게해서 안되지만 분명히 프로젝트명.exe가 나왔습니다.
James Gostling
더 잘 생각하면 다른것도 생각이 나겠네요 당연히
더 잘 생각하면 다른것도 생각이 나겠네요
당연히 빌드가 되어야 겠지요 제대로 했다면.
해보시고 답변주셨으면 합니다만 ...
1분이면 되오니 테스트좀 부탁드립니다.
제가 뭘 잘못한걸까요?
James Gostling
댓글 달기