ChromiumFX
序言
开发C#桌面应用程序有很多选择,比如WinForm或WPF。
这里我们用ChromiumFX。
目录
一、准备工作
1.1 ChromiumFX
官方网站:https://bitbucket.org/chromiumfx/chromiumfx
下载地址:https://bitbucket.org/chromiumfx/chromiumfx/downloads/?tab=tags
注意:一定要记得ChromiumFx的版本号,在下载CEF的时候要确保版本号一致。比如我们下载的版本号是:3.2924.1569
1、用VS打开ChromiumFX项目,我用的是VS2017。
2、将项目的配置成Release,生成平台选择x86或x64按照自己的需求。
3、按顺序生成libcfx、ChromiumFX、ChromiumWebBrowser项目 4、进入项目文件夹,Build>Release。将libcfx.dll、ChromiumFX.dll、ChromiumWebBrowser.dll三个文件复制出来单独保存。
5、本章完结。
1.2 CEF
官方网站:https://bitbucket.org/chromiumembedded/cef/
下载地址:http://opensource.spotify.com/cefbuilds/index.html(貌似国内打不开,请自行vpn)
注意:请按照ChromiumFx的版本号,下载CEF。比如我们下载的版本号是:3.2924.1569
1、选择win32或win64版本。我们这里选择win32版本。cef更新比较快,想看旧版本号点击Show more builds。
2、找到与ChromiumFX对应的版本号,并下载Sample Application。这是官方的示例。
3、解压文件后,进入解压目录Release,复制所有文件出来单独存放。
4、本章完结。
二、开始安装(nginx篇)
2.1 解压pcre
[官方网站] http://www.pcre.org/
命令流程:
# cd /source/
# wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz
# tar -zxvf pcre-8.38.tar.gz
说明:不需要编译,只需要解压就行。
2.2 解压zlib
[官方网站] http://zlib.net/
命令流程:
# cd /source/
# wget http://zlib.net/zlib-1.2.8.tar.gz
# tar -zxvf zlib-1.2.8.tar.gz
说明:不需要编译,只需要解压就行。
2.3 安装nginx
[官方网站] http://nginx.org/
命令流程:
# cd /source/
# wget http://nginx.org/download/nginx-1.8.0.tar.gz
# tar -zxvf nginx-1.8..tar.gz
# cd nginx-1.8.
# ./configure --prefix=/lnmp/nginx --with-pcre=/source/pcre-8.38 --with-zlib=/source/zlib-1.2.8
# make
# make install
--with-pcre:用来设置pcre的源码目录。
--with-zlib:用来设置zlib的源码目录。
因为编译nginx需要用到这两个库的源码。
小章总结:
此处告一段落,nginx安装完成。我们可以先满足下自己的欲望心。打开nginx服务看看Hello World吧。
启动nginx
# /lnmp/nginx/sbin/nginx
启动后可以再浏览器中打开页面,会显示nginx默认页面。
三、开始安装(php篇)
3.1 安装libxml2
[官方网站] http://xmlsoft.org/
命令流程:
# cd /source/
# wget ftp://xmlsoft.org/libxml2/libxml2-2.9.3.tar.gz
# tar -zxvf libxml2-2.9..tar.gz
# cd libxml2-2.9.
# ./configure \
# --prefix=/package/libxml2 --with-python=no
# make
# make install
这里--with-python=no是
3.2 安装php
[官方网站] http://php.net/
命令流程:
# cd /source/
# wget http://cn2.php.net/distributions/php-7.0.2.tar.gz
# tar -zxvf php-7.0..tar.gz
# cd php-7.0. # ./configure \
# --prefix=/lnmp/php \
# --with-libxml-dir=/package/libxml2 \ //打开libxml2库的支持
# --with-config-file-path=/lnmp/php/etc \ //配置文件所在目录
# --enable-mbstring \ //支持mbstring库
# --enable-fpm \ //支持php-fpm(推荐打开)
# --with-mysqli //打开mysqli模块 # make
# make install
四、开始安装(mysql篇)
4.1 安装cmake
[官方网站] https://cmake.org/
命令流程:
# wget https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz
# tar -zxvf cmake-3.4.1.tar.gz
# cd cmake-3.4.1
# ./configure --prefix=/package/cmake
# make
# make install
# export PATH=/package/cmake/bin:$PATH //设置环境变量。可忽略,只是为了你以后使用cmake方便点。
4.2 安装ncurses
[官方网站] http://ftp.gnu.org/gnu/ncurses/
命令流程:
# wget http://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz
# tar -zxvf ncurses-6.0.tar.gz
# cd ncurses-6.0
# ./configure --prefix=/package/ncurese
# make
# make install
4.3 安装mysql
[官方网站] http://www.mysql.com/
命令流程:
不带boost安装方式
// 这个是不带boost版本的mysql源码。你可以使用以下的参数在编译过程中自动下载boost
// -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/package/boost # wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz
# tar -zxvf mysql-5.7..tar.gz
# cd mysql-5.7.
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
# -DDOWNLOAD_BOOST= -DWITH_BOOST=/package/boost \ //设置自动下载boost库,并放到-DWITH_BOOST指定的路径里。
# -DCURSES_LIBRARY=/package/ncurses/lib/libncurses.a \ //ncurses库libncurses.a
# -DCURSES_INCLUDE_PATH=/package/ncurses/include //ncurses库头文件
# make # make install
自带boost安装方式
# wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.10.tar.gz
# tar -zxvf mysql-boost-5.7..tar.gz
# cd mysql-5.7.
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
# -DWITH_BOOST=/boost/boost_1_59_0 //boost库的路径
# -DCURSES_LIBRARY=/package/ncurese/lib/libncurses.a \ //ncurses库libncurses.a
# -DCURSES_INCLUDE_PATH=/package/ncurses/include //ncurses库头文件
# make
# make install
说明:mysql从5.7版本后就需要boost库的支持了。并且非常恶心的是mysql需要指定的boost版本号,高了或低了都有可能导致编译不通过。
到此,使用CentOS7上常用的、全新的Web模块基本已经完成了,剩下的就是对这些软件进行配置咯。哈哈,其实代码多,但是了解后真的挺简单,就那几个命令。怎么样?是不是蛮简单的。
ChromiumFX的更多相关文章
- chromiumFx编译使用
CEF chormeFx 为针对.Net的CEF框架,下载链接为: https://bitbucket.org/chromiumfx/chromiumfx 点击Download可以下载chromium ...
- ChromiumFX中js调用C#方法
server端代码: ChromiumWebBrowser wb; wb.AddGlobalJSFunction("CfxHelloWorld").Execute += CfxHe ...
- C#使用NanUI或ChromiumFx碰到的坑(一)
最近在花时间封装一个Razor模板+NanUI的Winform组件,发现了有个神奇地方,,由于需要使用CfxResourceHandler,用于把对cshtml文件的请求,编译成html并返回给CEF ...
- 使用C#在CEF中拦截并响应请求
一.前言 忙里偷闲,研究了一下如何在CEF中拦截请求,并作出响应.这个功能对某些需要修改服务器响应的需求来说必不可少,可以直接读取本地文件作为响应内容. C#的CEF封装项目有很多,我使用的是Chro ...
- 如何在Windows上从源码编译Chromium (CEF3) 加入mp3支持
一.什么是CEF CEF即Chromium Embeded Framework,由谷歌的开源浏览器项目Chromium扩展而来,可方便地嵌入其它程序中以得到浏览器功能. CEF包括CEF1和CEF3两 ...
- CEF中select选项错位的解决方法
使用cef加载页面,移动窗口后选项的位置并不会变化,仍保持上次打开的位置. 经过google查找到这是一个已经解决了的问题:https://bitbucket.org/chromiumembedded ...
- NanUI for Winform发布,让Winform界面设计拥有无限可能
如今,尽管WPF.UWP大行其道,大有把Winform打残干废的趋势.但是还是有那么一波顽固不化的老家伙们固守着Winform,其中就包括我. 好吧,既然都说Winform做得软件不如WPF界面美观效 ...
- NanUI for Winform 使用示例【第一集】——山寨个代码编辑器
NanUI for Winform从昨天写博客发布到现在获得了和多朋友的关注,首先感谢大家的关注和支持!请看昨天本人的博文<NanUI for Winform发布,让Winform界面设计拥有无 ...
- 基于.net开发chrome核心浏览器【七】
这是一个系列的文章,前面六篇文章的地址如下: 基于.net开发chrome核心浏览器[六] 基于.net开发chrome核心浏览器[五] 基于.net开发chrome核心浏览器[四] 基于.net开发 ...
随机推荐
- Leetcode 121. Best Time to Buy and Sell Stock 最佳股票售卖时(动态规划,数组,模拟)
题目描述 已知一个数组,第i个元素表示第i天股票的价格,你只能进行一次交易(买卖各一次),设计算法找出最大收益 测试样例 Input: [7, 1, 5, 3, 6, 4] Output: 5 最大收 ...
- leecode第三题(无重复字符的最长子串)
class Solution { public: int lengthOfLongestSubstring(string s) { int len=s.size(); ||len==)//边界 ret ...
- [转载]np.where()使用说明
转载自https://www.cnblogs.com/massquantity/p/8908859.html#4072620 numpy.where() 有两种用法: 1. np.where(cond ...
- 华东交通大学2015年ACM“双基”程序设计竞赛1001
Problem A Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Sub ...
- Educational Codeforces Round 7 A
Description Consider the infinite sequence of integers: 1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5. ...
- mysql隔离级别与锁,接口并发响应速度的关系(1)
默认隔离级别:可重复读 原始数据 | id | name | addr | | nick | NULL | 事务1 事务2 start transaction start transaction ; ...
- ajax 工作原理以及其优缺点
1.什么是AJAX?AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术.它使用:使用XHTML ...
- js input复选框选中父级同时子级也选中
js实现复选框选中父级元素子级元素也选中,没有子级元素选中父级也不选中的效果 HTML <tr> <td> <label> <input name=" ...
- js 实现继承的几种方式
//js中实现继承的几种方式 //实现继承首先要有一个父类,先创造一个动物的父类 function Animal(name){ this.name = name; this.shoot = funct ...
- 07-----nodejs 中 npm的使用
npm是什么? 简单的说,npm就是JavaScript的包管理工具.类似Java语法中的maven,gradle,python中的pip. 安装 傻瓜式的安装. 第一步:打开https://node ...