Ockonal
@Ockonal

CMake линкер...?

Приветствую, линкую boost.python через систему сборки cmake.

set(Boost_USE_STATIC_LIBS OFF)<br/>
set(Boost_USE_MULTITHREADED ON)<br/>
set(Boost_USE_STATIC_RUNTIME OFF)<br/>
<br/>
find_package(Boost COMPONENTS filesystem system date_time python REQUIRED)<br/>
<br/>
add_definitions(-Wall -g -msse2 -fPIC)



Основные параметры проекта.


Просто, когда билдю вылетает:
/usr/bin/ld: libboost_python.a(from_python.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC<br/>
libboost_python.a: could not read symbols: Bad value



Посмотрел аргументы линкера, которые используются (через make VERBOSE=1):
/usr/bin/c++ -fPIC -g -shared -Wl,-soname,libScript.so -o ../../lib/libScript.so CMakeFiles/LogManagerWrapper.cpp.o -Wl,-Bstatic -lboost_filesystem -lboost_system -lboost_date_time -lboost_python -Wl,-Bdynamic -lpython2.7



Методом тыка убрал -Wl,-Bstatic, заработало. Что это может быть?
  • Вопрос задан
  • 3396 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы