编译脚本
--- 使用说明 ---
CPU: x86_64
系统: ubuntu 20.04
let nump1=$#
if [[ $nump1 gt 1 ]]
then
workspace=$1
else
workspace=$PWD
fi
# 基本是官方提供的 doc/how_to_build_linux.md 脚本中
## 安装环境
sudo apt-get install -y build-essential git cmake pkg-config libboost-all-dev qt5-default qtbase5-dev libqt5svg5-dev qtscript5-dev qttools5-dev qttools5-dev-tools libqt5opengl5-dev qtmultimedia5-dev libqt5multimedia5-plugins libqt5serialport5-dev libsuperlu-dev liblz4-dev libusb-1.0-0-dev liblzo2-dev libpng-dev libjpeg-dev libglew-dev freeglut3-dev libfreetype6-dev libjson-c-dev qtwayland5 libmypaint-dev libopencv-dev libturbojpeg-dev libmypaint-dev libegl1-mesa-dev libgles2-mesa-dev libglib2.0-dev liblzma-dev
## 下载和编译程序
cd $workspace
git clone https://github.com/opentoonz/opentoonz
mkdir -p $HOME/.config/OpenToonz
cp -r opentoonz/stuff $HOME/.config/OpenToonz/
cd opentoonz/thirdparty/tiff-4.0.3
./configure --with-pic --disable-jbig
make -j$(nproc)
cd ../../
cd toonz
mkdir build
cd build
cmake ../sources
make -j$(nproc)
echo 编译完成 是否运行?(ctrl+c 退出, 回车运行)
read
LD_LIBRARY_PATH=./lib/opentoonz:$LD_LIBRARY_PATH
## 当前在 build 目录下
./bin/OpenToonz
说明
opentoonz 版本为 1.6.0
‘class QFontMetrics’ has no member named ‘horizontalAdvance’
opentoonz/toonz/sources/common/tvrender/tfont_qt.cpp:177
horizontalAdvance 替换为 width
error: ‘AA_DontShowShortcutsInContextMenus’ is not a member of ‘Qt’
#define ACCEL_KEY(k) \
(!QCoreApplication::testAttribute(Qt::AA_DontShowShortcutsInContextMenus) \
? QLatin1Char('\t') + \
QKeySequence(k).toString(QKeySequence::NativeText) \
: QString())
改为
#define ACCEL_KEY(k) QString()
注: 这个好像是苹果电脑的兼容问题, 我不需要, 所以这样改了
‘screenAt’ is not a member of ‘QGuiApplication’
这个是 5.10引入的, 擦。。。神马老古董。
我检查了下路径, 发现是anaconda环境的问题
conda deactivate
然后重新cmake编译, 没问题了。
运行
编译出程序包
链接: https://pan.baidu.com/s/1IbRgoC_TuW3vZNB9FZtBHQ?pwd=a7h8 提取码: a7h8
总结:
注意编译环境是否正确, 在社区环境维护比较好的开源项目, 一般都是最新的环境, 在编译的时候, 特别注意anaconda等修改环境变量的应用。