【发布时间】:2011-02-12 06:34:22
【问题描述】:
我没有成功尝试构建 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 的“构建问题”选项卡中):
:: error: symbol(s) not found
:: error: collect2: ld returned 1 exit status
也从“编译输出”选项卡中,我在构建后得到了这个:
ld:警告:找不到 -L 之后的目录 '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib'
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)”,引用自:
simpleview.o 中的 vtkAlgorithm::GetOutputPort()
“vtkActor::New()”,引用自:
simpleview.o 中的 vtkSmartPointer::New()
“vtkSphereSource::New()”,引用自:
simpleview.o 中的 vtkSmartPointer::New()
“QVTKWidget::QVTKWidget(QWidget*, QFlags)”,引用自:
简单视图中的 Ui_SimpleView::setupUi(QMainWindow*)
简单视图中的 Ui_SimpleView::setupUi(QMainWindow*)
“vtkRenderer::AddActor(vtkProp*)”,引用自:
SimpleView::SimpleView() 在 simpleview.o
SimpleView::SimpleView() 在 simpleview.o
SimpleView::SimpleView() 在 simpleview.o
SimpleView::SimpleView() 在 simpleview.o
“vtkCubeSource::New()”,引用自:
simpleview.o 中的 vtkSmartPointer::New()
“vtkPolyDataMapper::New()”,引用自:
simpleview.o 中的 vtkSmartPointer::New()
“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] 错误 1*
make: 离开目录`/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 = 关闭
BUILD_SHARED_LIBS = 关闭
BUILD_TESTING = 关闭
CMAKE_BUILD_TYPE = 发布
CMAKE_OSX_ARCHITECTURE = x86_64
VTK_USE_GUI_SUPPORT = 开启
VTK_USE_QT = ON
我还尝试使用通用二进制文件重新编译 VTK(通过更改 CMAKE_OSX_ARCHITECTURE)并在 Qt Creator 中以调试和发布模式构建项目......但没有!
我还成功构建了所有 Qt 示例(不包括 VTK)...
有没有cmets?
谢谢, 米格尔
【问题讨论】: