2011-02-12 34 views
0

我很不成功,試圖構建包含在VTK 5.6.1發行版中的Qt + VTK示例(.../VTK/Examples/GUI/Qt /)。下面是我使用的是什麼: - VTK分佈:5.6.1 - Qt的IDE:Qt Creator的2.7.1(基於Qt 4.7.0) - Mac OS X版本:10.6.6Qt 4.7 +在Mac OS X上的VTK 5.6.1 10.6:連接項目的錯誤

另外在Qt的我的.pro項目文件中已經包括了我的VTK頭和lib目錄:

INCLUDEPATH += /Users/catamigue/Documents/Migue/Developer/bin/vtk561/include/vtk-5.6
LIBS += -L/Users/catamigue/Documents/Migue/Developer/bin/vtk561Dyn/lib/vtk-5.6

不管我試圖建立(活動,GraphicView,圖像瀏覽器或simple查看)的例子,經過努力構建項目在Qt Creator中,我總是得到相同的錯誤(在Qt Creator的「Build issues」選項卡中):

:: error: symbol(s) not found
:: error: collect2: ld returned 1 exit status

還從「輸出編譯」選項卡中我得到這個建築後:在連接過程中

ld: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -L not found
ld: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -F not found
Undefined symbols:
"vtkSmartPointerBase::~vtkSmartPointerBase()", referenced from:
vtkSmartPointer::~vtkSmartPointer()in simpleview.o
vtkSmartPointer::~vtkSmartPointer()in simpleview.o
vtkSmartPointer::~vtkSmartPointer()in simpleview.o
vtkSmartPointer::~vtkSmartPointer()in simpleview.o
vtkSmartPointer::~vtkSmartPointer()in simpleview.o
"vtkAlgorithm::GetOutputPort(int)", referenced from:
vtkAlgorithm::GetOutputPort() in simpleview.o
"vtkActor::New()", referenced from:
vtkSmartPointer::New() in simpleview.o
"vtkSphereSource::New()", referenced from:
vtkSmartPointer::New() in simpleview.o
"QVTKWidget::QVTKWidget(QWidget*, QFlags)", referenced from:
Ui_SimpleView::setupUi(QMainWindow*) in simpleview.o
Ui_SimpleView::setupUi(QMainWindow*) in simpleview.o
"vtkRenderer::AddActor(vtkProp*)", referenced from:
SimpleView::SimpleView()in simpleview.o
SimpleView::SimpleView()in simpleview.o
SimpleView::SimpleView()in simpleview.o
SimpleView::SimpleView()in simpleview.o
"vtkCubeSource::New()", referenced from:
vtkSmartPointer::New() in simpleview.o
"vtkPolyDataMapper::New()", referenced from:
vtkSmartPointer::New() in simpleview.o
"vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)", referenced from:
vtkSmartPointer::vtkSmartPointer(vtkSphereSource*, vtkSmartPointerBase::NoReference const&)in simpleview.o
vtkSmartPointer::vtkSmartPointer(vtkCubeSource*, vtkSmartPointerBase::NoReference const&)in simpleview.o
vtkSmartPointer::vtkSmartPointer(vtkPolyDataMapper*, vtkSmartPointerBase::NoReference const&)in simpleview.o
vtkSmartPointer::vtkSmartPointer(vtkActor*, vtkSmartPointerBase::NoReference const&)in simpleview.o
vtkSmartPointer::vtkSmartPointer(vtkRenderer*, vtkSmartPointerBase::NoReference const&)in simpleview.o
"vtkRenderer::New()", referenced from:
vtkSmartPointer::New() in simpleview.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: [01SimpleView.app/Contents/MacOS/01SimpleView] Error 1*
make: Leaving directory `/Users/catamigue/Documents/Migue/Polimi/Programming/Qt/Learning code/Qt + VTK + ITK/01SimpleView-build-desktop'
The process "/usr/bin/make" exited with code %2. *Error while building project 01SimpleView (target: Desktop)* When executing build step 'Make'

從我在其他論壇上讀過這可能是一個錯誤......我不知道是什麼做......請一些指導將非常感激......

同樣的vtk5.6.1是如何構建我的Mac上一些額外的信息:
- CMake的版本:2.8.1。
- CMake的參數(使用CMake的界面,而不是命令行):

BUILD_EXAMPLES = OFF
BUILD_SHARED_LIBS = OFF
BUILD_TESTING = OFF
CMAKE_BUILD_TYPE = Release
CMAKE_OSX_ARCHITECTURE = x86_64
VTK_USE_GUI_SUPPORT = ON
VTK_USE_QT = ON

我還用通用二進制代碼重新編譯VTK(通過改變CMAKE_OSX_ARCHITECTURE),並在調試建設項目,Qt Creator的兩個,並試圖釋放模式...沒有!

我也成功地建立所有的Qt的例子(不包括VTK)...

有何評論?

感謝, 米格爾

回答

0

我不是一個VTK大師,但你從什麼發佈:

警告

'/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -L not found

是自我解釋。所有其他錯誤看起來像上面的結果。

你可以嘗試做的事情:

  1. 檢查VTK編譯\安裝了QT支持。例如,您可以嘗試編譯

    /your_vtk_folder/Examples/GUI/Qt/SimpleView/

    使用cmake。如果你有QT和VTK編譯和正確安裝,你不應該有這樣做的任何問題。

  2. 下一步再次檢查vtk包含文件和庫的安裝位置。在我的機器文件夾爲:

    標題:/usr/local/include/vtk-5.6

    庫:在/ usr/local/lib目錄/ VTK-5。6/

  3. 在你的* .pro文件,你可以添加以下內容:

    INCLUDEPATH + = /usr/local/include/vtk-5.6

    LIBS + = -L在/ usr/local/lib目錄/vtk-5.6/ -lvtkCommon -lvtksys -lQVTK ...需要爲您的項目

希望這有助於所有VTK庫,視