首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态链接与PreMake

静态链接与PreMake
EN

Stack Overflow用户
提问于 2021-09-29 22:48:58
回答 1查看 177关注 0票数 0

首先,为我糟糕的英语感到抱歉。

我正试着连接莱利卜。

Windows 10 PreMake版本5.0 g++版本8.1.0

目录

代码语言:javascript
复制
    // premake5.lua
    workspace "foo"
        architecture "x64"
        configurations {"Debug","Release"}
        outputdir = "%{cfg.buildcfg}-%{cfg.architecture}-%{cfg.system}"
    
    project "foo"
        location "./build/"
        kind "ConsoleApp"
        language "C++"
        targetdir "./build/%{cfg.buildcfg}"
        files { "./src/**.cpp",
        "./src/**.c",
        "./dependencies/**.h"
        }
        includedirs {"./dependencies/**"}
        links{"raylib"}
        libdirs{"./dependencies/**"}
    
    
    
        filter "configurations:Debug"
        defines { "DEBUG" }
        symbols "On"
    
        filter "configurations:Release"
        defines { "NDEBUG" }
        optimize "On

"```
代码语言:javascript
复制
// main.cpp
#include <iostream>
#include <raylib.h>
int main(){
    const int screenWidth = 800;

    const int screenHeight = 450;

    InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window");

    SetTargetFPS(60);            


    while (!WindowShouldClose())
    {
        BeginDrawing();

            ClearBackground(RAYWHITE);

            DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY);

        EndDrawing();
        //----------------------------------------------------------------------------------
    }

  
    CloseWindow();
  

    return 0;

}`

错误消息:将Mew ../dependencies/raylib/lib/libraylib.a(core.o):core.c:(.text+0x14dcd):未定义引用链接到timeEndPeriod' ../dependencies/raylib/lib/libraylib.a(core.o):core.c:(.text+0x167ca): undefined reference to timeBeginPeriod‘../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x16fa):未定义引用__imp_CreateRectRgn' ../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x1736): undefined reference to __imp_DeleteObject’

../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x1791):对__imp_SwapBuffers' ../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x21ce): undefined reference to __imp_GetDeviceCaps‘的未定义引用

../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x27ff):未定义引用__imp_CreateDCW' ../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x2813): undefined reference to __imp_GetDeviceGammaRamp‘../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x281c):未定义引用__imp_DeleteDC' ../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x6154): undefined reference to __imp_CreateDCW’

../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x6183):未定义引用__imp_GetDeviceCaps' ../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x619c): undefined reference to __imp_DeleteDC‘../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x6308):未定义引用__imp_GetDeviceCaps' ../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x633e): undefined reference to __imp_GetDeviceCaps’

../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x6539):对__imp_CreateDIBSection' ../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x6573): undefined reference to __imp_CreateBitmap‘的未定义引用

../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x660b):对__imp_DeleteObject' ../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x6660): undefined reference to __imp_DeleteObject‘的未定义引用

../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x7e89):未定义引用__imp_CreateDCW' ../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x7e98): undefined reference to __imp_SetDeviceGammaRamp‘../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0x7ea1):未定义引用__imp_DeleteDC' ../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0xdcb2): undefined reference to __imp_ChoosePixelFormat’../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0xdcc0):未定义引用__imp_SetPixelFormat' ../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0xe159): undefined reference to __imp_DescribePixelFormat‘../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0xe251):未定义引用__imp_DescribePixelFormat' ../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0xe61d): undefined reference to __imp_DescribePixelFormat‘../dependencies/raylib/lib/libraylib.a(rglfw.o):rglfw.c:(.text+0xe63c):未定义对`__imp_SetPixelFormat的引用’

Regt2.exe:错误: ld返回1个退出状态mingw32-make:* Makefile:78: Debug/Mew.exe错误1

谢谢你,也原谅我的英语。

EN

回答 1

Stack Overflow用户

发布于 2022-01-10 17:37:21

有点晚了不过我会试试的。在Windows上编译时,您需要明确地添加链接库依赖项,特别是windows依赖项。你描述的是链接错误。要解决链接问题,必须添加一些库: opengl32.lib、gdi32.lib、user32.lib、ole32.lib和可选的:netap32.lib、Wininet.lib。

__imp_SetPixelFormat、__imp_DescribePixelFormat、__imp_ChoosePixelFormat在gdi32.lib中定义,__imp_SetDeviceGammaRamp在opengl.lib中定义,__imp_DeleteObject、__imp_CreateDCW、__imp_SwapBuffers、__imp_DeleteDC在user32.lib中定义

希望它有用。

PS:对于运行时,请确保您有正确的可再发行版(Dll)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69384121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档