You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

链接器无法找到mingw64库?求助解决编译报错问题

问题排查:链接SDL2时出现cannot find -lmingw64错误

执行make命令时触发以下链接错误:

g++ -I src/include -L src/lib -o main main.cpp -lmingw64 -lSDL2main -lSDL2
/usr/bin/ld: cannot find -lmingw64: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:2: all] Error 1

执行gcc --version、g++ --version、gdb --version均显示已安装mingw64,但链接时仍提示找不到-lmingw64库,相关代码如下:

Makefile原内容

all:
    g++ -I src/include -L src/lib -o main main.cpp -lmingw64 -lSDL2main -lSDL2

main.cpp原内容

#include <iostream>
#include <SDL2/SDL.h>

const int WIDTH = 800, HEIGHT = 600;

int main(int argc, char *argv[])
{
    SDL_Init(SDL_INIT_EVERYTHING);

    SDL_Window *window = SDL_CreateWindow("title",SDL_WINDOWPOS_UNDEFINED,SDL_WINDOWPOS_UNDEFINED,WIDTH,HEIGHT,SDL_WINDOW_ALLOW_HIGHDPI);

    if(NULL == window){
        std::cout << "could not create window:"<< SDL_GetError() << std::endl;
        return 1;
    }

    SDL_Event windowevent;

    while (true)
    {
        if (SDL_PollEvent(&windowevent))
        {
            if (SDL_QUIT == windowevent.type)
            {
                break;
            }
            
        }
        
    }

    SDL_DestroyWindow(window);
    SDL_Quit();

    return EXIT_SUCCESS;
}

解决方法

  1. 移除多余的链接参数
    -lmingw64是不必要的链接参数,MinGW64编译环境会自动处理自身的依赖库,无需手动指定。修正后的Makefile如下:
all:
    g++ -I src/include -L src/lib -o main main.cpp -lSDL2main -lSDL2
  1. 验证库文件路径
    确保src/include目录下存在完整的SDL2头文件,src/lib目录下存在SDL2的静态/动态库文件(如libSDL2.a、libSDL2main.a)。如果路径不符,需要调整-I(头文件搜索路径)和-L(库文件搜索路径)的参数值,指向正确的目录。

内容的提问来源于stack exchange,提问作者Dec_Ves

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 05:22:11