1 现用模板
Windows下学习OpenGL。
add_rules("mode.debug", "mode.release")
add_requires("glfw", "glew")
set_languages("c11", "c++14")
target("lighting-01")
set_kind("binary")
set_basename("lighting-01_$(mode)_$(arch)") -- 设置目标名字(不包括前后缀)
add_files("src/*.cpp") -- 添加源码
add_includedirs("include", "lib/include") -- 添加头文件目录
add_packages("glfw","glew") -- 添加需要的包
set_rundir("$(projectdir)") -- 运行时目录
目录结构:
2 VSC代码补全(intellisense)
2.1 命令行
参考xmake github issues支持为vscode-cpptools提供intellisense配置信息
先在工程根目录终端输入xmake project -k compile_commands
,根目录会生成compile_commands.json
文件
在vsc使用快捷键ctrl + shift + p
唤出命令面板,输入C\C++,点击一次Edit Configurations(UI)
vsc会在.vscode目录自动生成c_cpp_properties.json
文件
把之前生成的compile_commands.json
文件移动到.vscode文件夹
在c_cpp_properties.json
文件内加入配置:
"configurations": [
{
......
"compileCommands": ".vscode/compile_commands.json",
}
],
我电脑环境下的完整版c_cpp_properties.json
:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"${vcpkgRoot}/x64-windows/include",
"${vcpkgRoot}/x64-windows-static/include",
"${vcpkgRoot}/x86-windows/include",
"${vcpkgRoot}/x86-windows-static/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe",
"cStandard": "c17",
"intelliSenseMode": "windows-msvc-x64",
"compileCommands": ".vscode/compile_commands.json"
}
],
"version": 4
}
1.2 若使用xmake的vscode插件(推荐)
在插件扩展设置中,设置如下如图,放到指定位置。
相同CMake插件也是可以的,这里记录一下。
配置clangd插件,自动插入头文件,插件真把握不住。
2 Qt
2.1 Windows下qDebug输出到控制台
if is_plat("windows") then
-- 设置子系统为控制台
add_ldflags("-subsystem:console")
-- 链接系统库以支持控制台
add_syslinks("kernel32", "user32")
end