我没有成功尝试构建 VTK 5.6.1 发行版 (.../VTK/Examples/GUI/Qt/) 中包含的 Qt + VTK 示例。这是我正在使用的:-VTK 发行版:5.6.1 -Qt IDE:Qt creator 2.7.1(基于 Qt 4.7.0)-Mac OS X 版本:10.6.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、ImageViewer 或 SimpleView),在尝试在 Qt creator 上构建项目后,我总是会遇到相同的错误(在 Qt Creator 的“构建问题”选项卡中):
:: 错误:未找到符号
:: 错误:collect2:ld 返回 1 退出状态
也从“编译输出”选项卡中,我在构建后得到了这个:
ld:警告:目录 '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' 以下 -L 未找到
ld:警告:目录 '/tmp/qt-stuff-6474 /source/qt-everywhere-opensource-src-4.7.0/lib' 以下 -F 未找到
未定义符号:
“vtkSmartPointerBase::~vtkSmartPointerBase()”,引用自:
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 )”,引用自:
vtkAlgorithm::GetOutputPort() in simpleview.o
“vtkActor::New()”,引用自:
simpleview.o 中的
vtkSmartPointer::New() “vtkSphereSource::New()”,引用自:
simpleview.o 中的 vtkSmartPointer::New()
“QVTKWidget::QVTKWidget( QWidget*, QFlags)",引用自:
simpleview.o 中的
Ui_SimpleView::setupUi(QMainWindow*) Ui_SimpleView::setupUi(QMainWindow*) 在 simpleview.o
"vtkRenderer::AddActor(vtkProp*)",引用自:
SimpleView: :SimpleView()in simpleview.o
SimpleView::SimpleView()in simpleview.o
SimpleView::SimpleView()in simpleview.o
SimpleView::SimpleView()in simpleview.o
"vtkCubeSource::New()",引用自:
simpleview.o 中的 vtkSmartPointer::New()
“vtkPolyDataMapper::New()”,引用自:
vtkSmartPointer::New() in simpleview.o
“vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)”,引用自:
vtkSmartPointer::vtkSmartPointer(vtkSphereSource*, vtkSmartPointerBase::NoReference const&)在 simpleview.o
vtkSmartPointer::vtkSmartPointer(vtkCubeSource*, vtkSmartPointerBase::NoReference const&)在 simpleview.o
vtkSmartPointer::vtkSmartPointer(vtkPolyDataMapper*, vtkSmartPointerBase::NoReference const&)在 simpleview.o
vtkSmartPointer::vtkSmartPointer (vtkActor*, vtkSmartPointerBase::NoReference const&) 在 simpleview.o
vtkSmartPointer::vtkSmartPointer(vtkRenderer*, vtkSmartPointerBase::NoReference const&)) 在 simpleview.o 中
“vtkRenderer::New()”,引用自:
simpleview.o 中的 vtkSmartPointer::New()
ld:未找到符号
collect2:ld 返回 1 个退出状态
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'
的进程“/usr/bin/make”以代码 %2 退出。 *构建项目 01SimpleView(目标:桌面)时出错* 执行构建步骤“Make”时
从我在其他论坛上阅读的内容来看,这可能是链接过程中的错误......我不知道该怎么做!......请提供一些指导,我们将不胜感激......
还有一些关于如何在我的 Mac 上构建 vtk5.6.1 的附加信息:
- CMake 版本:2.8.1。
- CMake 参数(使用 CMake 界面,而不是命令行):
BUILD_EXAMPLES = OFF
BUILD_SHARED_LIBS = OFF
BUILD_TESTING = OFF
CMAKE_BUILD_TYPE = 发布
CMAKE_OSX_ARCHITECTURE = x86_64
VTK_USE_GUI_SUPPORT = ON
VTK_USE_QT = ON
我还尝试通过使用通用二进制文件重新编译 VTK(通过更改 CMAKE_OSX_ARCHITECTURE)并在 Qt Creator 中以调试和发布模式构建项目......什么都没有!
我还成功构建了所有 Qt 示例(不包括 VTK)...
任何意见?
谢谢,米格尔