перекомпилируйте с параметром -fPIC

61
27 сентября 2021, 10:40

Работаю над проектом(состоящий из нескольких подпроектов) Cmake с использование библиотеки wxWidgets, некоторые проекты не могут собраться по причине:

/usr/local/lib/libwx_baseu-3.0.a(baselib_filename.o): перемещение R_X86_64_PC32 для символ «_ZN8wxString4nposE» не может использоваться при создании общий объект; перекомпилируйте с параметром -fPIC

Сборка на Windows происходит без проблем, проблемы только при сборке на Linux. И я не могу понять, мне нужно пересобирать wxWidgets библиотеку с параметром -fPIC или же мне нужно в CMakeList изменить тип сборки?

Если дело в wxWidgets, могу ли я обойти эту проблему без пересборки библиотеки?

Пробовал добавлять в CMakeList:set(POSITION_INDEPENDENT_CODE ON) - не помогло.

Флаги сборки:set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof -std=c++0x -fpack-struct=1 ")

Answer 1

пересобрал библиотеки wxWidgets и собрал полностью проект

../configure --enable-shared CFLAGS=-fPIC CXXFLAGS=-fPIC

и добавил

set (CMAKE_POSITION_INDEPENDENT_CODE ON)
READ ALSO
При комплиляции программа выдает a=0.00000,b=-9334555

При комплиляции программа выдает a=0.00000,b=-9334555

уважаемые форумчанеПишу программу по заданию(Даны 2 числа

122
Как рисовать на представлении? Qt

Как рисовать на представлении? Qt

Есть модель, содержащая строки, и списочное представление

68
Не видит библиотеку при сборке приложения под android Qt

Не видит библиотеку при сборке приложения под android Qt

В общем, пишу небольшое приложение на С++ в Qt, которое сможет отрисовывать графы, использую стороннюю библиотеку Graphviz в QtПри дебаге приложения...

100
Прочитать весь std::cin в std::string

Прочитать весь std::cin в std::string

Как прочитать весь текущий std::cin одной операцией в строку std::string?

67