Код: Выделить всё
#include
#include
#include
#include
#include
#include
#include
int main() {
auto sphereSource = vtkSmartPointer::New();
sphereSource->SetRadius(5.0);
auto mapper = vtkSmartPointer::New();
mapper->SetInputConnection(sphereSource->GetOutputPort());
auto actor = vtkSmartPointer::New();
actor->SetMapper(mapper);
auto renderer = vtkSmartPointer::New();
renderer->AddActor(actor);
renderer->SetBackground(0.1, 0.2, 0.4);
auto renderWindow = vtkSmartPointer::New();
renderWindow->AddRenderer(renderer);
auto interactor = vtkSmartPointer::New();
interactor->SetRenderWindow(renderWindow);
renderWindow->Render();
interactor->Start();
return 0;
}
Код: Выделить всё
cmake_minimum_required(VERSION 3.22)
project(test)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -gdwarf-4")
find_package(VTK REQUIRED PATHS)
add_executable(test main.cpp)
target_link_libraries(test PRIVATE ${VTK_LIBRARIES})
target_include_directories(test PRIVATE ${VTK_INCLUDE_DIRS})
Код: Выделить всё
cmake .. -DCMAKE_BUILD_TYPE=Release
Код: Выделить всё
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/local/gcc11.2/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/gcc11.2/bin/g++
Код: Выделить всё
CMakeFiles/test.dir/main.cpp.o:main.cpp:(.text.unlikely+0x38): more
undefined references to
`vtkSmartPointerBase::~vtkSmartPointerBase()' follow
/home/Code/VTK/VTK-8.1.2/installation/include/vtk-8.1/vtkSmartPointer.h:155: undefined reference to
`vtkSphereSource::New()'
/home/Code/VTK/VTK-8.1.2/installation/include/vtk-8.1/vtkSmartPointer.h:207: undefined reference to
`vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
/home/Code/VTK/VTK-8.1.2/installation/include/vtk-8.1/vtkSmartPointer.h:155: undefined reference to
`vtkPolyDataMapper::New()'
/home/Code/VTK/VTK-8.1.2/installation/include/vtk-8.1/vtkSmartPointer.h:207: undefined reference to
`vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
/home/Code/VTK/VTK-8.1.2/installation/include/vtk-8.1/vtkAlgorithm.h:455: undefined reference to
`vtkAlgorithm::GetOutputPort(int)'
/home/Code/VTK/VTK-8.1.2/installation/include/vtk-8.1/vtkSmartPointer.h:155: undefined reference to
`vtkActor::New()'
Я проверил PATH среды и настройки цепочки инструментов Clion, Я уверен, что это тот же GCC11.2, который я использовал для создания VTK.
Мой проект требует GCC11.2, поэтому я не могу вернуться к использованию 4.8.5. Может кто-нибудь мне помочь, пожалуйста?
Подробнее здесь: https://stackoverflow.com/questions/792 ... nce-errors