Всем привет,
У меня возникли проблемы при попытке использовать библиотеку SFML. Я пробовал разные вещи, чтобы она работала, но всегда терпела неудачу.
/ usr / bin / ld: test: скрытый символ «__cpu_model» в
/usr/lib/gcc/x86_64-redhat-linux/6.2.1/libgcc.a(cpuinfo.o) является
ссылка на DSO
/ usr / bin / ld: ошибка при окончательном редактировании ссылки: неверное значение
collect2: error: ld вернул 1 код состояния выполнения
Кто-нибудь знает в чем дело?
SFML имеет проблемы с gcc 5.3 и новее. В настоящее время GCC является версией 6.3.1 в репозиториях Fedora 25. Вы должны подать заявку этот патч:
diff --git a/src/SFML/Graphics/CMakeLists.txt b/src/SFML/Graphics/CMakeLists.txt
index 6f02fb6..bdc84e7 100644
--- a/src/SFML/Graphics/CMakeLists.txt
+++ b/src/SFML/Graphics/CMakeLists.txt
@@ -148,6 +148,13 @@ add_definitions(-DSTBI_FAILURE_USERMSG)
# when gcc is used; otherwise saving PNGs may crash in stb_image_write
if(SFML_COMPILER_GCC)
set_source_files_properties(${SRCROOT}/ImageLoader.cpp PROPERTIES COMPILE_FLAGS -fno-strict-aliasing)
+
+endif()
+
+# see https://bugs.launchpad.net/ubuntu/+source/gcc-5/+bug/1568899
+if(SFML_COMPILER_GCC AND BUILD_SHARED_LIBS)
+ message(WARNING "Applying workaround for https://bugs.launchpad.net/ubuntu/+source/gcc-5/+bug/1568899")
+ list(APPEND GRAPHICS_EXT_LIBS "-lgcc_s -lgcc")
endif()
# define the sfml-graphics target
Если вы не хотите загружать репозиторий SFML git, просто откройте src/SFML/Graphics/CMakeLists.txt
найдите условный оператор if с комментарием ImageLoader.cpp (строка 150) и добавьте строки, добавленные патчем. Конечный результат должен выглядеть так:
# ImageLoader.cpp must be compiled with the -fno-strict-aliasing
# when gcc is used; otherwise saving PNGs may crash in stb_image_write
if(SFML_COMPILER_GCC)
set_source_files_properties(${SRCROOT}/ImageLoader.cpp PROPERTIES COMPILE_FLAGS -fno-strict-aliasing)
endif()
# see https://bugs.launchpad.net/ubuntu/+source/gcc-5/+bug/1568899
if(SFML_COMPILER_GCC AND BUILD_SHARED_LIBS)
message(WARNING "Applying workaround for https://bugs.launchpad.net/ubuntu/+source/gcc-5/+bug/1568899")
list(APPEND GRAPHICS_EXT_LIBS "-lgcc_s -lgcc")
endif()
Других решений пока нет …