【发布时间】:2023-04-02 15:05:01
【问题描述】:
我正在尝试使用 CMake 构建应用程序。我正在尝试使用的库是 SFML。 Ubuntu 是我选择的操作系统。
这是我的 CMakeLists.txt(“//”cmets 不是实际文件的一部分):
project(MyApp) // App name
cmake_minimum_required(VERSION 2.8) // CMake version
aux_source_directory(. SRC_LIST) // Source files
add_executable(${PROJECT_NAME} ${SRC_LIST}) // Executable
target_compile_features(${PROJECT_NAME} PRIVATE cxx_range_for) // C++ version taken care of
set(CMAKE_MODULE_PATH "/usr/local/share/SFML/cmake/Modules" ${CMAKE_MODULE_PATH}) // Path to my "FindSML.cmake" file
find_package(SFML 2 REQUIRED system window graphics network audio) // Finding SFML 2.X
#LINKING
target_link_libraries(${PROJECT_NAME} // Linking libraries
${SFML_LIBRARIES} ) // Linking SFML
这些是我得到的错误:
error: SerIDE: hidden symbol `__cpu_model' in /usr/lib/gcc/x86_64-linux-gnu/5/libgcc.a(cpuinfo.o) is referenced by DSO
error: final link failed: Bad value
error: collect2: error: ld returned 1 exit status
【问题讨论】:
-
看起来像 SFML 库或您的可执行文件尝试使用隐藏在链接中的符号。有关该错误的更多信息,请参阅this question。
-
我可以确认这个错误 - 我用命令行编译我的程序
g++ --std=c++11 -Wall main.cpp -lsfml-graphics -lsfml-window -lsfml-system -o a.out