宝塔面板

centos安装面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

查看默认账号和密码
bt default

新建站点,添加SSL
/www/server/panel/ssl
/www/server/panel/vhost/ssl/
网站ssl替换面板ssl重启宝塔面板
/etc/init.d/bt restart

设置SSL
NginxSSL.jpg

LibreOffice在Windows平台编译

LibreOffice在Windows平台编译

环境要求

  Windows 10 专业版 英语语言 64位

  Visual Studio 2017 专业版

  Windows8.1 SDK

  JAVA

  Cygwin

注意

  确保磁盘至少有50GB可用空间

  需要网络连接, 用于下载依赖库和代码

  安装JAVA环境, 如果编译32位安装32位JAVA, 编译64位程序, 需要安装64位JAVA

  下载Cygwin 如果编译32位安装32位Cygwin32, 编译64位程序, 需要安装64位Cygwin64

保存到D盘

  最新代码必须使用Visual Studio 2017

编译x86

1.安装cygwin

  在开始菜单找到Visual Studio 2017文件夹x86 Native Tools Command Prompt for VS 2017程序右击以管理员方式运行

  打开程序后, 输入d:进入D盘, 执行以下命令

setup-x86.exe -P autoconf -P automake -P bison -P cabextract -P doxygen -P flex -P gcc-g++ ^
                -P gettext-devel git -P gnupg -P gperf -P make -P mintty ^
                -P nasm -P openssh -P openssl -P patch -P perl -P python -P python3 ^
                -P pkg-config -P rsync -P unzip -P vim -P wget -P zip -P perl-Archive-Zip ^
                -P perl-Font-TTF -P perl-IO-String

  输入命令后会弹出程序安装界面, 一直下一步就可以了, 安装完成后在原先程序执行C:\cygwin86\bin\mintty.exe -i /Cygwin-Terminal.ico - (我安装的目录是C:cygwin86)

2.安装GNU make

在cygwin程序中依次输入以下命令

mkdir -p /opt/lo/bin
cd /opt/lo/bin
wget http://dev-www.libreoffice.org/bin/cygwin/make-4.2.1-msvc.exe
mv make-4.2.1-msvc.exe make
chmod a+x make
3.安装ant和junit

在cygwin程序中依次输入以下命令

mkdir -p /cygdrive/d/sources
cd /cygdrive/d/sources
wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.tar.bz2
tar -xjvf apache-ant-1.9.5-bin.tar.bz2
wget http://downloads.sourceforge.net/project/junit/junit/4.10/junit-4.10.jar
4.克隆LibreOffice源代码

在cygwin程序中依次输入以下命令

cd /cygdrive/d/sources
git clone git://gerrit.libreoffice.org/core LibreOffice
5.配置和构建编译脚本

在cygwin程序中依次输入以下命令

mkdir buildx86
cd buildx86
../LibreOffice/autogen.sh \
--with-external-tar=/cygdrive/d/sources/lo-externalsrc \
--with-junit=/cygdrive/d/sources/junit-4.10.jar \
--with-ant-home=/cygdrive/d/sources/apache-ant-1.9.5 \
--enable-pch --disable-ccache \
--with-windows-sdk=8.1 \
--with-visual-studio=2017
6.开始LibreOffice编译

在cygwin程序中输入C:/cygwin86/opt/lo/bin/make这样就开始编译了

编译成功后存在sources/buildx86/instdir目录中

编译x64

1.安装cygwin

    在开始菜单找到Visual Studio 2017文件夹x64 Native Tools Command Prompt for VS 2017程序右击以管理员方式运行

打开程序后, 输入d:进入D盘, 执行以下命令

setup-x86_64.exe -P autoconf -P automake -P bison -P cabextract -P doxygen -P flex -P gcc-g++ ^
                -P gettext-devel git -P gnupg -P gperf -P make -P mintty ^
                -P nasm -P openssh -P openssl -P patch -P perl -P python -P python3 ^
                -P pkg-config -P rsync -P unzip -P vim -P wget -P zip -P perl-Archive-Zip ^
                -P perl-Font-TTF -P perl-IO-String

  输入命令后会弹出程序安装界面, 一直下一步就可以了, 安装完成后在原先程序执行C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico - (我安装的目录是C:cygwin64)

2.安装GNU make

在cygwin程序中依次输入以下命令

mkdir -p /opt/lo/bin
cd /opt/lo/bin
wget http://dev-www.libreoffice.org/bin/cygwin/make-4.2.1-msvc.exe
mv make-4.2.1-msvc.exe make
chmod a+x make
3.安装ant和junit

在cygwin程序中依次输入以下命令

mkdir -p /cygdrive/d/sources
cd /cygdrive/d/sources
wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.tar.bz2
tar -xjvf apache-ant-1.9.5-bin.tar.bz2
wget http://downloads.sourceforge.net/project/junit/junit/4.10/junit-4.10.jar
4.克隆LibreOffice源代码

在cygwin程序中依次输入以下命令

cd /cygdrive/d/sources
git clone git://gerrit.libreoffice.org/core LibreOffice
5.配置和构建编译脚本

在cygwin程序中依次输入以下命令

mkdir buildx64
cd buildx64
../LibreOffice/autogen.sh \
--with-external-tar=/cygdrive/c/sources/lo-externalsrc \
--with-junit=/cygdrive/c/sources/junit-4.10.jar \
--with-ant-home=/cygdrive/c/sources/apache-ant-1.9.5 \
--enable-pch --disable-ccache \
--with-windows-sdk=8.1 \
--with-visual-studio=2017 \
--enable-64-bit
6.开始LibreOffice编译

在cygwin程序中输入C:/cygwin64/opt/lo/bin/make这样就开始编译了

编译成功后存在sources/buildx86/instdir目录中

注:

官方教程

相关目录:

  LibreOffice Writer(Word)

  编译文件夹\instdir\program\swriter.exe

  LibreOffice Impress(PPT)

  编译文件夹\instdir\program\simpress.exe

  LibreOffice Calc(Excel)

  编译文件夹\instdir\program\scalc.exe

已知问题

  如果出现找不到r命令的错误, 请执行git config --global core.autocrlf input重新克隆代码

  克隆代码太慢可以使用

git clone http://anongit.freedesktop.org/git/libreoffice/core.git LibreOffice

编译选项

  中文语言 --with-lang=zh-CN

  默认编译release, 如果想编译debug版本, 请指定--enable-debug

处理器主频3.30GHz编译耗时6小时

jQuery Table操作

$(“div tbody tr”).click(function() {
var rows = $(this).prevAll().length + 1;//行号
alert(rows );
});

//获取表的总行数 tr
$(“#tableid”).find(“tr”).length ;

//获取所在行的行号
$(this).parent().prevAll().length + 1;//行号

//获取所在列的列号
$(this).prevAll().length + 1;//列

// 获取内容
$(this).closest(“tr”).find(“td”).eq(0).text();

Windows 编译 LibreOffice

Windows8.1 SDK
cygwin https://cygwin.com/setup-x86.exe
setup-x86_64.exe -P autoconf -P automake -P bison -P cabextract -P doxygen -P flex -P gcc-g++ ^

            -P gettext-devel git -P gnupg -P gperf -P make -P mintty ^
            -P nasm -P openssh -P openssl -P patch -P perl -P python -P python3 ^
            -P pkg-config -P rsync -P unzip -P vim -P wget -P zip -P perl-Archive-Zip ^
            -P perl-Font-TTF -P perl-IO-String

mkdir -p /opt/lo/bin
cd /opt/lo/bin
wget http://dev-www.libreoffice.org/bin/cygwin/make-4.2.1-msvc.exe
mv make-4.2.1-msvc.exe make
chmod a+x make

mkdir -p /cygdrive/c/sources
cd /cygdrive/c/sources
wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.tar.bz2
tar -xjvf apache-ant-1.9.5-bin.tar.bz2
wget http://downloads.sourceforge.net/project/junit/junit/4.10/junit-4.10.jar

cd /cygdrive/c/sources
git clone git://gerrit.libreoffice.org/core libo-core

/cygdrive/c/sources/libo-core/autogen.sh \
–with-external-tar=/cygdrive/c/sources/lo-externalsrc \
–with-junit=/cygdrive/c/sources/junit-4.10.jar \
–with-ant-home=/cygdrive/c/sources/apache-ant-1.9.5 \
–enable-pch –disable-ccache \
–enable-64-bit \
–with-windows-sdk=8.1 \
–with-visual-studio=2017

https://wiki.documentfoundation.org/Development/BuildingOnWindows

子窗口居中

// 计算需要创建窗口的大小
int nW = rectWnd.right-rectWnd.left ;// 窗口的宽
int nH = rectWnd.bottom-rectWnd.top ;// 窗口的高
// 计算窗口大小(用于居中)
int nX = (rectBaseWnd.right+rectBaseWnd.left-nW) /2;
int nY = (rectBaseWnd.bottom+rectBaseWnd.top-nH) /2

error LNK2019: unresolved external symbol “public: __thiscall

出现error LNK2019: unresolved external symbol “public: __thiscall 这种错误,最常见的两种原因

  1. 被调用函数没有实现,如只在头文件.h中做了声明,没在源文件.cpp中做对应的实现(即使是方法体为空,也要做对应的实现)
  2. 被调用函数所在的lib文件没有导入或没被设置为依赖项

解决方法就是:1. 做函数声明的对应实现; 2. 导入相应的lib文件