资源获取
资源可以去异步社区或者官网下载,自行去网上找。
环境配置
资源处理
- 将资源压缩到合适的位置,注意目录中不能含有中文
- 使用CMAKE,生成VS项目来编译glfw
- 打开项目,分别生成Debug和Release的项目解决方案
- 将glfw编译生成的Debug文件中的glfw3.lib文件复制到资源第一级目录下的lib文件夹中去
- 将Debug文件夹复制过来的glfw3.lib改名为glfw3_d.lib
- 同理,将glfw编译生成的Release中的glfw3.lib复制到lib文件夹中,此时不需要改名。
- 再次打开CMAKE,生成资源的项目,并且编译,和glfw的步骤一样选择32位,分别生成解决方案
资源整合
-
分别创建include和lib文件夹,放在一个无中文的目录下。
-
将资源目录下的lib文件夹中的文件复制到创建的lib文件夹中去
-
得到的lib文件夹
-
将资源目录下的include和glfw中的include文件夹中的文件复制到新建的include文件夹中去
-
得到的include文件夹
环境配置
创建一个VS空项目
打开项目属性
- 右击项目名称选择菜单最后一个属性
配置环境
- 在附加包含目录中添加刚才新建的include文件夹,可以选择绝对路径。这里我选择了相对路径
- 预处理器定义需要加上WIN32和_WINDOWS
- 附加库目录需要添加刚才生成的lib文件夹,同样可以选择绝对路径和相对路径
- 附加依赖性需要添加lib文件夹中的lib文件名即可
sb7_d.lib
glfw3_d.lib
opengl32.lib
glu32.lib
到这里就完全配置好了环境。
出现过的问题
一定要选32位
由于一开始我CMAKE时没有选择位数,默认64位出现了一大堆问题,后来改成了32位,
问题消失了,所以一定要选择32位的
附加库目录和附加包含目录的路径一定要正确
路径正确,没有什么说的,目录错误无法找到所包含的文件
sb7.h文件资源有时候有错误
- 贴一段书上的代码
#include "sb7.h"
#include <math.h>
class my_application : public sb7::application
{
public:
//渲染函数
void render(double currentTime)
{
//颜色,随着时间而改变。分别是rgba,红绿蓝和透明度
const GLfloat color[] = { (float)sin(currentTime) * 0.5f + 0.5f,
(float)cos(currentTime) * 0.5f + 0.5f, 0.0f, 1.0f };
//清除第一个参数指定的缓存为第三个参数的值
glClearBufferfv(GL_COLOR, 0, color);
}
};
// 函数实例运行
DECLARE_MAIN(my_application);
上面代码中出现了DECLARE_MAIN()这个函数可能报错
此时需要查看项目属性->链接器->系统->子系统,将其换成窗口