首先,为我糟糕的英语感到抱歉。
我正试着连接莱利卜。
Windows 10 PreMake版本5.0 g++版本8.1.0
// 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
"```// 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
谢谢你,也原谅我的英语。
发布于 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)。
https://stackoverflow.com/questions/69384121
复制相似问题