Правильный выбор флагов cmake наверняка поможет решить вашу проблему. Чтение вопросов и ответов этот пост SO может быть полезным.
Я не совсем уверен, что вы точно следовали указанным инструкциям, потому что в отрывке из CMakeCache (см. здесь, пункт 5 ), BUILD_SHARED_LIBS
был отключен. Однако ваша проблема указывает на то, что ваш двоичный файл был связан динамически. Здесь мне не хватает подробностей о вашей настройке.
Позвольте мне поделиться командой cmake, которую я использовал для сборки vtk (с оболочкой python и общими библиотеками). Это работало для vtk 7.x.
mkdir build
cd build
INSTALL_DIR="/opt/dev/versions/vtk/vtk-7.1.0-shared"
cmake .. -DCMAKE_BUILD_TYPE=Release \
-DVTK_WRAP_PYTHON=ON \
-DBUILD_EXAMPLES=OFF \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
-DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" \
-DCMAKE_MACOSX_RPATH=ON \
-DCMAKE_INSTALL_RPATH="$INSTALL_DIR/lib" \
-DPYTHON_INCLUDE_DIR="/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/" \
-DPYTHON_LIBRARY="/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib"
make -j8
make install
Обратите внимание, что мне пришлось установить флаги, связанные с python, чтобы убедиться, что используется правильная среда python. (Часто на Mac доступно несколько сред python: python, распространяемый самой MacOS, пользовательский python, установленный через homebrew или macports, или фреймворк, полученный через www.python.org. Для меня применим третий вариант.)
person
normanius
schedule
08.12.2017