SFML和Visual Studio

介绍

如果您在Visual Studio IDE(Visual C ++编译器)中使用SFML,本教程是第一个应该阅读的教程。它将解释如何配置您的SFML项目。

安装SFML

首先,您必须从下载页面下载SFML SDK 。

您必须下载与您的Visual C ++版本相匹配的软件包。事实上,用VC ++ 10(Visual Studio 2010)编译的库不会与VC ++ 12(Visual Studio 2013)兼容。如果没有为您的Visual C ++版本编译的SFML包,则必须 自己构建SFML

自己构建SFML方法(如果有自己vs版本SDK可直接下载SDK使用跳过构建,直接看下文vs2017中SML SDK的配制)

1.安装CMake 下载地址

2.官网下载SFML Source code 解压到任意路径 本例中放在d:/sfml

3.打开CMake 设置如下①SFML Source code路径②工程生成路径③生成

4.第一次选择编译器

5.选择配制

 配制说明,一般默认就可以了(建议改下生成路径默认在C:\ Program Files)

变量 含义
CMAKE_BUILD_TYPE 该选项选择构建配置类型。有效值是“调试”和“释放”(还有其他类型,如“RelWithDebInfo”或“MinSizeRel”,但它们是为了更高级的构建)。请注意,如果为支持多种配置(如Visual Studio)的IDE生成工作空间,则会忽略此选项,因为工作空间可以同时包含多个配置。
CMAKE_INSTALL_PREFIX 这是安装路径。默认情况下,它被设置为操作系统上最典型的安装路径(Linux和Mac OS X为“/ usr / local”,Windows为“C:\ Program Files”等)。在构建SFML之后安装SFML并不是强制性的,因为您可以直接从构建它们的地方使用二进制文件。这可能是一个更好的解决方案,但是,要正确安装它们,以便可以删除构建过程中生成的所有临时文件。
CMAKE_INSTALL_FRAMEWORK_PREFIX
(Mac OS X only)
这是框架的安装路径。默认情况下,它被设置为根库文件夹ie / Library / Frameworks。正如上面对CMAKE_INSTALL_PREFIX所述,在构建SFML之后并不强制安装SFML,但是这样做肯定是比较干净的。
如果选择BUILD_FRAMEWORKS,则此路径也用于在系统上安装sndfile框架(Apple不提供所需的依赖项)和SFML作为框架。
BUILD_SHARED_LIBS 这个布尔选项控制你是否将SFML构建为动态(共享)库,或者是静态的。
此选项不应与SFML_USE_STATIC_STD_LIBS同时启用,它们是互斥的。
SFML_BUILD_FRAMEWORKS
(Mac OS X only)
这个布尔选项控制你是否构建SFML作为 框架捆绑 或作为 dylib二进制文件。构建框架需要选择BUILD_SHARED_LIBS。
建议在发布应用程序时使用SFML作为框架。但请注意,SFML不能作为框架在调试配置中构建。在这种情况下,请使用dylib代替。
SFML_BUILD_EXAMPLES 该布尔选项控制SFML示例是否与库一起构建。
SFML_BUILD_DOC 这个布尔选项控制你是否生成SFML文档。请注意, Doxygen工具必须安装并可访问,否则启用此选项将产生错误。
在Mac OS X上,您可以将经典Unix doxygen二进制文件安装到/ usr / bin或任何类似的目录中,或者将Doxygen.app安装到任何“应用程序”文件夹中,例如〜/ Applications。
SFML_USE_STATIC_STD_LIBS
(Windows only)
这个布尔选项选择链接到SFML的C / C ++运行时库的类型。
TRUE静态链接标准库,这意味着SFML是独立的,不依赖于编译器特定的DLL。
FALSE(缺省值)动态链接标准库,这意味着SFML依赖于编译器的DLL(用于Visual C ++的msvcrxx.dll / msvcpxx.dll,用于GCC的libgcc_s_xxx-1.dll / libstdc ++ - 6.dll)。设置这个时要小心。该设置必须符合您自己的项目设置,否则您的应用程序可能无法运行。
此选项不应与BUILD_SHARED_LIBS同时启用,它们是互斥的。
CMAKE_OSX_ARCHITECTURES
(Mac OS X only)
该设置指定了应该构建SFML的体系结构。建议的值是“x86_64”,因为不再支持32位版本。
SFML_INSTALL_XCODE_TEMPLATES
(Mac OS X only)
这个布尔选项控制CMake是否将Xcode模板安装到你的系统上。请确保/ Library / Developer / Xcode / Templates / SFML存在并且是可写的。有关这些模板的更多信息,请参阅Mac OS X的“入门”教程。
SFML_INSTALL_PKGCONFIG_FILES
(Linux shared libraries only)
这个布尔选项控制CMake是否将pkg-config文件安装到你的系统上。pkg-config是一个为查询已安装库提供统一接口的工具。

修改改生成SDK的路径

 6. 选择Generate   完成后  选Open Project

7.生成 SFML SDK

 9.在l:/sfml 文件夹即 是我们生成 的SFML SDK 

在VS2017中配置SFML

首先要做的是选择要创建的项目类型:您必须选择“Win32应用程序”。该向导提供了几个选项来定制项目:如果您需要控制台,请选择“控制台应用程序”;如果您不需要,请选择“Windows应用程序”。如果您不希望被自动生成的代码烦恼,请选中“空项目”框。
为了本教程的目的,您应该创建一个main.cpp文件并将其添加到项目中,以便我们可以访问C ++设置(否则Visual Studio不知道您将为此项目使用哪种语言)。稍后我们将解释放入什么内容。

在新建项目上右键的打开项目属性:

这些路径在“调试”和“发行版”配置中都是相同的,因此您可以为项目全局设置它们(“所有配置”)。

到此ok!可以在vs2017 中畅玩 SFML SDK库了

VS2017编译SFML SDK配制环境详解的更多相关文章

  1. CentOS 7.4下源码编译安装配置LAMP环境详解

    CentOS 7.4搭建LAMP,LAMP:Linux.Apache.MySQL.PHP. 目录:第一部分 准备工作第二部分 安装Apache服务第三部分 安装MySQL服务第四部分 搭建PHP运行环 ...

  2. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  3. Java中String的intern方法,javap&cfr.jar反编译,javap反编译后二进制指令代码详解,Java8常量池的位置

    一个例子 public class TestString{ public static void main(String[] args){ String a = "a"; Stri ...

  4. Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解

    Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解 操作系统:Windows 7 JDK版本:1.6.0_33 Eclipse版本:Juno ...

  5. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  6. 【IOS 开发】Object-C 入门 Xcode 环境详解

    作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38424965 一. Xcode 环境安装 与 工程创建 1. ...

  7. CentOS7下用jdk1.7编译hadoop-2.7.1全过程详解

    说实话,本人编译hadoop的过程比较曲折,但收获也很多,下面系统介绍一下CentOS7下编译hadoop-2.7.1的全过程吧. 先说明,32位Linux操作系统可以直接下载编译好的hadoop使用 ...

  8. MyBatis学习笔记2--配置环境详解

    1.MyBatis-config.xml详解 一个完整的配置文件如下所示 <configuration> <!-- <properties resource="jdb ...

  9. Linux 下编译Android-VLC开源播放器详解(附源码下载)

    这两天需要做音视频播放相关的东西,所以重新找了目前android下的解码库.Android自带的解码库支持不全,因此很多第三方播放器都是自带解码器,绝大部分都是使用FFMpeg作为解码库.我11年的时 ...

随机推荐

  1. String.prototype.trim

    /*内置对象添加方法:String.prototype.trim(给String添加一个trim方法) *^这个是以什么什么开头 *$这个是以什么什么结尾 *'/s是String /d是数字' *re ...

  2. 原来你是这样的JAVA[01]-基础一瞥

    1.Java是什么呢? Java不仅是一门语言,而且是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供安全性.跨操作系统的可移植性以及自动垃圾收集等服务的执行环境. 2.JDK 和 ...

  3. gunicorn geventworker 解析

    在前面的文章曾介绍过gunicorn的syncworker,本文介绍其中一种asyncworker:GeventWorker.类图如下:   可见GeventWorker重载了init_process ...

  4. Mixed Reality-宁波市VR/AR技术应用高研班总结

    年,全球AR与VR市场规模将达到1500亿美元,而根据市场研究机构BI Intelligence的统计,2020年仅头戴式VR硬件市场规模将达到28亿美元,未来5年复合增长率超过100%.本次培训从V ...

  5. CentOS 7 学习(四)Git配置(一)

    CentOS 7 学习(四)Git配置(一) 1.对于版本管理系统,目前常用的是Subverion和Git,Subversion是集中式版本管理系统中最好的,所有人的代码都要提交到服务器上,如果要知道 ...

  6. EditText禁用系统键盘,光标可以继续使用

    在项目中有时候需要使用到自己的键盘,那这个时候就不希望系统键盘在弹出,而且光标还要继续显示,其实一个方法就可以简单实现 /** * 禁止Edittext弹出软件盘,光标依然正常显示. */ publi ...

  7. Android Studio 快速开发

    概述 现如今开发越来越追求效率和节奏,节省出时间做更多的事情,除了开发技术上的封装等,开发工具的使用技巧也是很重要的,今天就根据自己的经验来给大家介绍一下Android Studio快速开发之道. P ...

  8. Platt SMO 和遗传算法优化 SVM

    机器学习算法实践:Platt SMO 和遗传算法优化 SVM 之前实现了简单的SMO算法来优化SVM的对偶问题,其中在选取α的时候使用的是两重循环通过完全随机的方式选取,具体的实现参考<机器学习 ...

  9. 查看系统分区df,查看、设置、修改、删除ACL权限

    df [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda5 16G 1.4G 15G 9% / devtmpfs 479M 0 479M ...

  10. 环链表相关的题目和算法[LeetCode]

    这篇文章讨论一下与链表的环相关的题目,我目前遇到的一共有3种题目. 1.判断一个链表是否有环(LeetCode相关题目:https://leetcode.com/problems/linked-lis ...