Qt Creator에서 VTK 사용관련 질문 드립니다.

dhckdaks의 이미지

지금 qt로 vtk 프로그램을 짜는 연습을 해야 되는데

설치를 못해서 1주일째 하루종일 인터넷만 뒤지고 다니다가 안되겠어서 질문 드려 봅니다.

인터넷에 보면 visual studio에 qt add-in한 상태에서 vtk연동하는건 잘 나오는데

솔직히 visual studio보다 qt creator쓰는게 저한테 더 맞고 그래서 qt creator에서 쓰는 방법을 좀 알려주셨으면 합니다.(이건 잘 안나오더라고요.)

제가 지금까지 알아낸 내용은 이렇습니다.

1. vtk를 다른 것에 연동해서 사용하려면 vtk소스용을 깔아야 한다.
2. cmake프로그램을 이용해서 내 컴퓨터 시스템에 맞게 CmakeList.txt파일을 고쳐줘야 한다.
(근데 이 파일은 컴파일 할때 필요한 건가요?)
3. qt creator에서 vtk를 연동하려면 project파일의 LIBS와 INCLUDE를 고쳐줘야 한다.
(이거를 인터넷 뒤져 봤었는데 그대로 복사 붙여넣기 해도 안되고, 인터넷에 나온 경로를 제 딴에는 제가 설치한 경로에 맞게 고쳐서 썼는데도 안되네요.)

결론적으로 질문 드리는건 이렇습니다.

1. qt creator에서 vtk를 사용하려면 cmake를 할 때에 컴파일러 설정을 minGW로 해야 되나요?
2. 1번 질문이 맞다면 고쳐야 되는 셋팅들 좀 알려주세요.
3. qt creator에서 vtk를 사용하려면 project파일의 LIBS와 INCLUDE에 정확히 어떤 경로(무슨 파일들을 포함하는 경로인지)를 셋팅해줘야 되는 건가요?
4. cmake의 정확한 용도가 뭔가요?
5. 마지막으로 이건 대답안 해주셔도 되는데 해주시면 매우 감사드릴께요. vtk공부는 어떤 식으로 하는게 좋을까요?(교재들이 다 영어에다가, 인터넷에도 자료가 별로 없는 거 같고..힘드네요 쩝...)

부디 고수님들께서 자라나는 어린 새싹 프로그래머에게 성수와 같은 물을 하사해주시기 부탁드립니다.(꾸벅)

라스코니의 이미지

VTK가 뭔지 전혀 모릅니다.

일단 vtk 가 라이브러리로 빌드(.so 또는 .a)되는 거라고 한다면
qt에 vtk 를 연결시키려면 다음과 같은 하면 됩니다.

1. vtk를 리눅스에서 빌드합니다. vtk 의 readme 등을 보면 되니다.
.so 가 생성되었는지 봅니다.
cmake는 makefile을 만들어주는 일종의 툴입니다. 사용자가 makefile을 직접 에디트하는 건
어려우므로 작성을 도와주는 툴이죠.
2. make install 을 했을 때 /usr/lib 또는 usr/local/lib 등에 들어가 있는지 확인하고
안들어가 있으면 수동으로 복사해 준 후 ldconfig 를 한번 해 줍니다.
3. qt의 .pro 파일을 수정해 줍니다.
LINK 옵션에 -lvtk 등을 추가해 줍니다.
4. qt creator 메뉴의 qmake 실행을 눌러 줍니다.
5. vtk의 init 등을 호출하는 코드를 만든 후 전체 리빌드를 해 줍니다.
6. 빌드가 잘 끝나면 실행해 봅니다.

dhckdaks의 이미지

우선 답변 감사하다는 말씀드리겠습니다.

그리고 VTK는 Visualization ToolKit의 약자(스펠링은 확실하지가 않습니다;;)로 3D시물레이션 프로그램을 만들때 사용하는 라이브러리로 알고 있습니다.

음....

결론적으로 제가 지금 하려는 환경이 window7이구요.

전제적인 내용은 이해가 가는데 사실 cmake에서 설정하는 부분이라던지 qt에 .pro파일에 LINK에 어떤 옵션들을 주어야 하는것인지가 막히는 거라서 이런 부분에 대한 가이드를 해주시면 정말 감사하겠습니다.

라스코니의 이미지

Qt SDK를 깔면 mingw 로 설치가 될 겁니다.
vtk 를 mingw 로 빌드를 하시고 .pro 파일의 LINK 옵션에 -Lc:\vtk\lib -lvtk 를 추가하시면 될 겁니다.

cmake는 인터넷에서 메뉴얼을 보시고 하시면 되는데 vtk 가 mingw 빌드를 지원하지 않으면 사실 답이 없습니다. vtk README에서 mingw로 빌드가 되는지 확인해 보세요.

아니면 Qt SDK를 깔지 않고 Visual Studio 라이브러리를 설치하고 Qt Creator 만 따로 설치해서 사용할 수도 있습니다. 그러면 vtk는 Visual Studio에서 사용이 잘되는 것 같으니 별 문제 없을 겁니다.

dhckdaks의 이미지

아 알려주시고 나서 그 후로 머리싸매고 열심히 했더니 결국 해결이 됐습니다.

근데 답글을 다는게 아주 많이 늦었네요..;;ㅇㅅㅇ;;(정말 감사합니다.)

아 그리고 vtk가 mingw빌드를 지원합니다. 그리고 현재 Qt Creator에서 쓰는데도 별 무리가 없는거 같구요.

다시 한번 정말 감사드리고요. 혹시 이 글 보시고 vtk와 qt연동하시는데 문제 있으신 분들은 문의 주시면 잘 알려드리겠습니다.

하도 고민을 많이 해서 아예 연동하는 방법 자체를 문서로 만들어 놨으니까요.....ㅜㅡ;;

익명 사용자의 이미지

dhckdaks의 이미지

-

dhckdaks의 이미지

하루 하루 바쁘게 살다 보니 답글 확인하는 걸 잊고 살았네요, 죄송합니다.ㅜ

현재 메뉴얼은 vtk나 qt의 버전이 현재 릴리즈 된 버전과 차이가 많이 나서 큰 도움은 되지 않을 것 같습니다.

shint의 이미지

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

익명 사용자의 이미지

loobey407@naver.com

감사합니다.

dhckdaks의 이미지

-

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.