如何在Linux终端编译基于Raylib(vcpkg安装)的C++游戏程序?
解决Raylib + C++编译问题(vcpkg安装)
直接用g++ Main.cpp编译会报未定义引用错误,原因是只完成了源码编译,没有链接Raylib库及其系统依赖。以下是两种可行的解决方法:
方法1:手动指定编译链接参数
根据你的操作系统,替换命令中的vcpkg路径(比如C:\vcpkg或~/vcpkg)和架构triplet(如x64-windows、x64-linux):
Windows(MinGW环境)
g++ Main.cpp -o game.exe -I"C:\vcpkg\installed\x64-windows\include" -L"C:\vcpkg\installed\x64-windows\lib" -lraylib -lopengl32 -lgdi32 -lwinmm
Linux
g++ Main.cpp -o game -I~/vcpkg/installed/x64-linux/include -L~/vcpkg/installed/x64-linux/lib -lraylib -lGL -lm -lpthread -ldl -lrt -lX11
macOS
g++ Main.cpp -o game -I~/vcpkg/installed/x64-osx/include -L~/vcpkg/installed/x64-osx/lib -lraylib -framework OpenGL -framework Cocoa -framework IOKit -framework CoreAudio -framework CoreVideo
方法2:用CMake配合vcpkg(推荐,无需手动写路径)
这种方式更省心,vcpkg会自动处理依赖路径:
- 新建
CMakeLists.txt文件,内容如下:
cmake_minimum_required(VERSION 3.10) project(MyRaylibGame) find_package(raylib REQUIRED) add_executable(game Main.cpp) target_link_libraries(game PRIVATE raylib)
- 在终端执行以下命令(替换vcpkg路径):
mkdir build && cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake cmake --build .
- 编译完成后,运行生成的
game(Windows下是game.exe)即可启动GUI游戏。
前置验证
先确认vcpkg已正确安装raylib:
vcpkg list
输出中应包含类似raylib:x64-windows 4.5.0的条目,说明安装有效。
内容的提问来源于stack exchange,提问作者Guru Gorule
相关产品推荐
相关产品推荐

