提问人:Mateus 提问时间:4/18/2023 最后编辑:Mateus 更新时间:4/22/2023 访问量:269
为什么 sfml 在链接过程中给我未定义的“_imp____acrt_iob_func”引用
Why sfml gives me undefined reference to `_imp____acrt_iob_func' during linking
问:
我试图创建示例sfml窗口并使用cmake进行编译,但我收到以下错误:对“_imp____acrt_iob_func”的未定义引用。
我使用的唯一库是 sfml,我确定问题出在链接阶段。
我的 CMakeLists 文件如下:
cmake_minimum_required(VERSION 3.26.3)
project(LES)
set(SFML_DIR ${CMAKE_CURRENT_SOURCE_DIR}/sfmlLib/lib/cmake/SFML/)
set(SFML_STATIC_LIBRARIES TRUE)
message("SFML_DIR = " ${SFML_DIR})
find_package(SFML REQUIRED COMPONENTS graphics window system)
include_directories(include)
include_directories(sfmlLib/include)
add_executable(Pong src/main.cpp)
target_link_libraries(Pong sfml-graphics sfml-window sfml-system)
这些文件是: 文件树
我正在使用 ninja 编译和 sfml 用于 minGW 32 位
我收到的错误如下:
cmd.exe /C "cd . && W:\programming\MinGW\bin\c++.exe CMakeFiles/Pong.dir/src/main.cpp.obj -o Pong.exe -Wl,--out-implib,libPong.dll.a -Wl,--major-image-version,0,--minor-image-version,0 "C:/Users/gcsil/OneDrive/Área de Trabalho/LeS/sfmlLib/lib/libsfml-graphics-s-d.a" "C:/Users/gcsil/OneDrive/Área de Trabalho/LeS/sfmlLib/lib/libsfml-window-s-d.a" "C:/Users/gcsil/OneDrive/Área de Trabalho/LeS/sfmlLib/lib/libsfml-system-s-d.a" -lwinmm -lgdi32 -lOpenGL32 "C:/Users/gcsil/OneDrive/Área de Trabalho/LeS/sfmlLib/lib/libfreetype.a" -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
C:/Users/gcsil/OneDrive/┴rea de Trabalho/LeS/sfmlLib/lib/libsfml-system-s-d.a(Err.cpp.obj): In function `sync':
D:/Programming/C++/Releases/_Sources/SFML/src/SFML/System/Err.cpp:87: undefined reference to `_imp____acrt_iob_func'
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
答: 暂无答案
评论
_imp____acrt_iob_func' during compilation_" isn't that a link error? Also, you probably don't need
target_link_libraries