如何解决带有 glfw3 和高兴的 OpenGL 生成文件
我正在尝试进行跨平台编译以在 Linux 上构建一个项目,该项目将在 Windows 上使用。
/usr/bin/ld: bin/Release-linux-x86_64/glad/libglad.a(glad.o):glad.c:(.text+0x2aa6): undefined reference to `__imp_GetProcAddress'
/usr/bin/ld: bin/Release-linux-x86_64/glad/libglad.a(glad.o):glad.c:(.text+0x4abf): undefined reference to `__imp_LoadLibraryW'
/usr/bin/ld: bin/Release-linux-x86_64/glad/libglad.a(glad.o):glad.c:(.text+0x4aec): undefined reference to `__imp_GetProcAddress'
/usr/bin/ld: bin/Release-linux-x86_64/glad/libglad.a(glad.o):glad.c:(.text+0x4b19): undefined reference to `__imp_FreeLibrary'
我使用这些标志来链接库:
LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
LIBS += bin/Release-linux-x86_64/glad/libglad.a bin/Release-linux-x86_64/GLFW/libGLFW.a
LDDEPS += bin/Release-linux-x86_64/GLFW/libGLFW.a bin/Release-linux-x86_64/glad/libglad.a
ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 -s -lglfw -pthread -lglu -lGL -lrt -lXrandr -lXxf86vm -lXi -lXinerama -lX11 -ldl
为了构建和编译库,我使用了这些 premake 文件中的 makefile。
为高兴而预制:
project "Glad"
kind "StaticLib"
language "C"
staticruntime "on"
targetdir ("bin/" .. outputdir .. "/%{prj.name}")
objdir ("bin-int/" .. outputdir .. "/%{prj.name}")
files
{
"include/glad/glad.h","include/KHR/khrplatform.h","src/glad.c"
}
includedirs
{
"include"
}
filter "configurations:Debug"
runtime "Debug"
symbols "on"
filter "configurations:Release"
runtime "Release"
optimize "on"
glfw 的预制:
project "GLFW"
kind "StaticLib"
language "C"
targetdir ("bin/" .. outputdir .. "/%{prj.name}")
objdir ("bin-int/" .. outputdir .. "/%{prj.name}")
files
{
"include/GLFW/glfw3.h","include/GLFW/glfw3native.h","src/glfw_config.h","src/context.c","src/init.c","src/input.c","src/monitor.c","src/vulkan.c","src/window.c"
}
filter "system:linux"
pic "On"
systemversion "latest"
staticruntime "On"
files
{
"src/x11_init.c","src/x11_monitor.c","src/x11_window.c","src/xkb_unicode.c","src/posix_time.c","src/posix_thread.c","src/glx_context.c","src/egl_context.c","src/osmesa_context.c","src/linux_joystick.c"
}
defines
{
"_GLFW_X11"
}
filter "system:windows"
systemversion "latest"
staticruntime "On"
files
{
"src/win32_init.c","src/win32_joystick.c","src/win32_monitor.c","src/win32_time.c","src/win32_thread.c","src/win32_window.c","src/wgl_context.c","src/osmesa_context.c"
}
defines
{
"_GLFW_WIN32","_CRT_SECURE_NO_WARNINGS"
}
filter "configurations:Debug"
runtime "Debug"
symbols "on"
filter "configurations:Release"
runtime "Release"
optimize "on"
- 平台:Ubuntu
- C++ 编译器:x86_64-w64-mingw32-g++
- C 编译器:x86_64-w64-mingw32-gcc
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。