cmake — dyld: символ не найден _PyBaseObject_Type при запуске проекта C ++ с VTK

В настоящее время я работаю над настройкой VTK для работы в моем проекте, и я дошел до того, что смог успешно скомпилировать и связать, но после запуска приложения я получаю:

~/Projects/myProj $ ./MyProjDebug
dyld: Symbol not found: _PyBaseObject_Type
Referenced from: /usr/local/opt/vtk/lib/libvtkWrappingPython27Core-8.1.1.dylib
Expected in: flat namespace
in /usr/local/opt/vtk/lib/libvtkWrappingPython27Core-8.1.1.dylib
abort trap: 6

VTK был установлен с brew, и я использую premake для создания файлов make (которые можно найти здесь: https://pastebin.com/0dpUUCDS). Этот следующий раздел из моего premake5.lua и как я в настоящее время ссылки в библиотеке VTK:

--------------------------------
-- Find external libs (vtk) --
--------------------------------
local vtkIncPath = os.getenv("VTK_INCLUDE")
local vtkDirPath = os.getenv("VTK_DIR")

if (vtkIncPath) then
includedirs{vtkIncPath}
else
error("Missing vtk headers.  Please ensure the headers installed in your include path.")
end
-- Do not use the system vtk directory
if (vtkDirPath) then
-- link all libraries manually
function recursiveLibraries(path)
linkoptions { "-L"..path}
for file in lfs.dir(path) do
if lfs.attributes(path..file, "mode") == "file" then
local fileName = string.match(file, [[lib(.+).dylib]])
if fileName == nil then fileName = string.match(file, [[lib(.+).a]]) end
if fileName == nil then fileName = string.match(file, [[(.+).so]]) end
if fileName == nil then
else
links{fileName}
end
elseif lfs.attributes(path..file, "mode") == "directory" then
recursiveLibraries(path..file)
end
end
end

recursiveLibraries(vtkDirPath.."/lib/")
end

Я пропустил какие-либо библиотеки? Что мне здесь не хватает? Что такое cmake что я делаю не так?

Изменить: я обновил функцию, чтобы также ссылки во всех .a а также .so файлы.

Edit2: я не знаю, если это имеет значение, но у меня также есть Python установлен через Brew.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]