Я пытаюсь перенести и старую версию программного обеспечения и модернизировал код с помощью CLang-Tidy, и у меня возникла странная проблема с линковкой, которая говорит об этом:
/ usr / bin/ ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/32/crtbeginT.o: прямое перемещение GOT R_386_GOT32X против `_ITM_deregisterTMCloneTable 'без базового регистра не может использоваться при создании общего объекта
Я попытался изолировать проблему, комментируя некоторые файлы .cpp в CMakeLists.txt, но все еще не могу определить, что не так.
Вот мой раздел CMakeLists.txt
add_library(client SHARED
network/client/mistery.cpp
network/client/mclient.cpp
network/client/ellect.cpp
network/client/proctcppacket.cpp
network/client/ping.cpp
network/client/signals.cpp
network/client/remotecontrol.cpp
network/client/data.cpp
network/client/sensor.cpp
network/client/events.cpp
network/client/test.cpp
network/client/misteryThread.cpp
network/client/libNetwork.cpp
)
target_link_libraries(client -lssl -lcrypto -ggdb -lxml2 -lz -ldl -pthread -lstdc++ -static)
set_target_properties(client PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32")
Мой общий объект должен быть в 32-битном режиме.