이 소스를 Dev C++로 컴파일하려면 어디를 수정해야 할까요?

u235의 이미지

첨부한 소스는 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: 
첨부파일 크기
Binary Data libcdio_0.81.orig_.tar.gz2.14 MB
u235의 이미지


1. 새 콘솔 프로젝트 생성
2. 프로젝트 우클릭 → 옵션 → 파일/디렉토리 → 인클루드 파일 디렉토리 → 소그의 include 추가
3. Example 폴더의 예제코드를 main.cpp에 저장 그리코 컴파일.

한번은 컴파일이 되기는 했습니다.
그다음은 아무리해도 죽어도 안되네요.
DevC에서 컴파일이 되는지 테스트 바라오며 에러나는 이를 밝혀내고 싶습니다.

James Gostling

익명 사용자의 이미지

그냥 mingw 쓰세요.
dev c++은 별로 좋은 툴이 아닙니다.
그리고 어차피 dev c++도 컴파일러는 mingw입니다.

u235의 이미지

결국 하나하나 커멘드를 치라는거군요.
그렇다면 익숙치 않지만 에디터는 VS로 하고 ming의 gcc나 cc를 직접 쓰는 방법을 구사해야겠군요.
만약 요런걸 vs로 컴파일을 시도하는건 진짜 천부당 만부당한 짓이겠죠?

James Gostling

qiiiiiiiip의 이미지

> 결국 하나하나 커멘드를 치라는거군요.

아니요. 주어진 빌드 환경을 이용하되 컴파일러만 mingw로 쓰라는 뜻이겠지요.
잠깐 보니 mingw32용 빌드환경이 있던데요.

> 그렇다면 익숙치 않지만 에디터는 VS로 하고 ming의 gcc나 cc를 직접 쓰는 방법을 구사해야겠군요.
익숙치도 않은데, 굳이 VS를 에디터로 쓸 이유가 있을까요. 에디터야 익숙한걸 쓰면 됩니다.

> 만약 요런걸 vs로 컴파일을 시도하는건 진짜 천부당 만부당한 짓이겠죠?
소스나름이겠지만, 천부당 만부당까지야. 그런데 굳이 그럴 필요가 없는것이겠지요.

u235의 이미지

익숙한건 VS고요. 따라서 첨에 VS로 시도했었습니다.
에건뭐 에라가 끝도없이 나오더군요.

그래서 DevC를 전환했는데요.
정말 이해가 안되는건 처음에는 예제에서 점하나 안고치고 기막히게 컴파일이 됐거든요.
무슨일인지 그다음부터는 아무리해도 이것저것 에러만 뿜고 안되네요. (재설치로도 못함)

PS : 컴파일 기본값은 mingw 입니다. 다만 안시옵션등 선택사항을 만저봐야겠군요.
아무튼 무척 궁금하오니 DevC가 있으신분은 컴파일한번 해보시기 부탁드려요.

James Gostling

익명 사용자의 이미지

빌드환경을 msys를 사용하라는 것이지요. 그래야 편하지 않겠습니까?
./configure; make
면 끝나니까요. msys는 mingw distribution에 포함되어 있는 쉘 환경입니다.

u235의 이미지

네 그건 Posix의 특권으로 알고있었는데 msys를 쓰면 Win32 에서도 가능했었군요.
그건 금시초문인데요? 충격!!!

혹시 잘못들었나 하고 찾아보니 위키에 관련 설명이 잘 나왔군요.
http://ko.wikipedia.org/wiki/MinGW

그게 DevC에 비스무리하게 들어있는것과는 다른가요?

James Gostling

u235의 이미지

지금까지 posix에서 배포되는 코드를 win32에서 사용하기 위해서는
VS로는 절대 컴파일되지 않으므로
오직 우분투에 크로스 툴체인을 구축해서 컴파일하거나 시그윈밖에 몰랐는데요.

mingw라는 신세계가 있었음을 이제야 알았습니다.
이제 방법을 알았으니 열심히 코딩만 하면 되겠군요.
답변주신분께 정말 감사드립니다.

혹시 주의할점 등이 있다면 조언 부탁드립니다.

James Gostling

익명 사용자의 이미지

icj7061의 이미지

Dev c++쓰시지 말고
codeblocks 사용하세요. dev c++ 개발 끊긴지 한참되서 말이죠;;;
참고로 codeblocks에서 dev c++ 플러그인 쓸 수 있습니다.

u235의 이미지

제가 그리 신버전을 선호하는 스타일은 아닙니다만. (우분투도 10.4 고정)
DevC 사실 너무 꼬져요.

차라리 이클립스에 세팅해서 쓰는게 낮지않을까 하는 생각이 들정도네요.
다만 이클립스는 APK 하면서 크게 데인적이 있어 선뜻 손이안갈뿐 ...

Codeblocks는 자주 들어본건 아니지만 알게됐으니 꼭 써보겠습니다.

그래도 첨부소스가 맨처음 Dev C++에서 어떻게 컴파일이 가능했었는지는 영원한 미스테리로 남지않을까 합니다.
봉사 문고리 잡은거나 같지만 다시는 죽어도 안되는게 진짜 궁금해요.

James Gostling

qiiiiiiiip의 이미지

> 그래도 첨부소스가 맨처음 Dev C++에서 어떻게 컴파일이 가능했었는지는 영원한 미스테리로 남지않을까 합니다.

별로 궁금하진 않지만, 아마도 추측컨데,

최초에 "컴파일"만 하신게 아닐까 싶네요
이후부터는 링크까지 하다가 에러가 났을테고요

앞서 설명하신 방법 ( 예제소스파일 하나만 추가하고, 인클루드 디렉토리 디렉토리만 설정) 으로는
절대로 제대로 빌드할 수가 없어보이는데요..

u235의 이미지

lib 폴더에 들어있는 .c .h 도 모두찾아 프로젝트 소스트리에 끌어넣은것 같습니다.

다시는 그렇게해서 안되지만 분명히 프로젝트명.exe가 나왔습니다.

James Gostling

익명 사용자의 이미지

더 잘 생각하면 다른것도 생각이 나겠네요

당연히 빌드가 되어야 겠지요 제대로 했다면.

u235의 이미지

1분이면 되오니 테스트좀 부탁드립니다.
제가 뭘 잘못한걸까요?

James Gostling

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.