当前位置: 首页 > news >正文

承包酒席可以做网站吗陕西住房与建设厅网站

承包酒席可以做网站吗,陕西住房与建设厅网站,中国十大门窗品牌排行榜前十名,青岛即墨网站开发1 简介 Shotcut是一个开源的跨平台的视频编辑软件,支持WIN/MACOS/LINUX等平台,由于该项目的编译较为麻烦,踩坑几许,因此写此文章记录完整编译构建过程,后续按此法编译,可减少走弯路,提高生产力。…

1 简介

    Shotcut是一个开源的跨平台的视频编辑软件,支持WIN/MACOS/LINUX等平台,由于该项目的编译较为麻烦,踩坑几许,因此写此文章记录完整编译构建过程,后续按此法编译,可减少走弯路,提高生产力。

    编译构建环境:

  • qt sdk版本 >= 6.4,此文是qt 6.5.3,请自行下载安装,笔者已安装好;
  • Shortcut SDK版本23.09.29,universal build;

2 源码下载

    源码下载建议不要在github上下载,那不够,建议从官方文档上下载。详情参见第6章。

    下载后将shotcut-macos-sdk-230929.txz拷贝到以下home目录,并解压:

     按实际Shotcut项目路径修改mlt-framework-7文件内容:

prefix=/Users/mingo/Applications/workspace/av/Shotcut
exec_prefix=${prefix}/build
libdir=${prefix}/Contents/Frameworks
includedir=${prefix}/Contents/Frameworks/include
datadir=${prefix}/build/sharemoduledir=${prefix}/lib/mlt
mltdatadir=${datadir}/mltName: mlt-framework
Description: MLT multimedia framework
Version: 7.19.0
Requires:
Libs: -L${libdir} -lmlt-7
Cflags: -I${includedir}/mlt-7

    按实际Shotcut项目路径需改mlt++-7文件内容: 

prefix=/Users/mingo/Applications/workspace/av/Shotcut
exec_prefix=${prefix}/build
libdir=${prefix}/Contents/Frameworks
includedir=${prefix}/Contents/Frameworks/include
datadir=${prefix}build/shareName: mlt++
Description: C++ API for MLT multimedia framework
Version: 7.19.0
Requires: mlt-framework-7
Libs: -L${libdir} -lmlt++-7
Cflags: -I${includedir}/mlt-7/mlt++

     在Shotcut项目路径建立软链接:

# 建立软连接
mingo@localhost:~/Applications/workspace/av$ ln -s Shotcut Shotcut.app
drwxr-xr-x@   4 mingo  staff   128  9 30  2023 Shotcut/
lrwxr-xr-x    1 mingo  staff     7  5 28 15:42 Shotcut.app@ -> Shotcut

     接下来就是qt creator上的配置了。

3 qt creator配置 

    按如下图配置:

遇到问题:

-- Checking for module 'fftw3'
--   No package 'fftw3' found
-- Checking for module 'fftw'
--   No package 'fftw' found
CMake Error at /opt/homebrew/Cellar/cmake/3.26.0/share/cmake/Modules/FindPkgConfig.cmake:607 (message):A required package was not found

问题原因:以下目录缺失fftw3.pc文件.

mingo@localhost:~/Applications/workspace/av/Shotcut/Contents/Frameworks/lib/pkgconfig$tree -L 1
.
├── fftw3.pc
├── frei0r.pc
├── frei0r.pc.bak
├── libavcodec.pc
├── libavcodec.pc.bak
├── libavdevice.pc
├── libavdevice.pc.bak
├── libavfilter.pc
├── libavfilter.pc.bak
├── libavformat.pc
├── libavformat.pc.bak
├── libavutil.pc
├── libavutil.pc.bak
├── libpostproc.pc
├── libpostproc.pc.bak
├── libswresample.pc
├── libswresample.pc.bak
├── libswscale.pc
├── libswscale.pc.bak
├── libvmaf.pc
├── libvmaf.pc.bak
├── mlt++-7.pc
├── mlt++-7.pc.bak
├── mlt-framework-7.pc
├── mlt-framework-7.pc.bak
├── movit.pc
├── movit.pc.bak
├── opencv4.pc
├── opencv4.pc.bak
├── vidstab.pc
└── vidstab.pc.bak1 directory, 31 files

     在以上目录下创建fftw.pc文件,并输出以下内容:

prefix=/Users/mingo/Applications/workspace/av/Shotcut
exec_prefix=${prefix}/build
libdir=${prefix}/Contents/Frameworks
includedir=${prefix}/Contents/Frameworks/include
datadir=${prefix}build/shareName: fftw3-3
Description: fftw3.3.10
Version: 3.3.10
Requires: fftw3.3
Libs: -L${libdir} -lfftw3.3
Cflags: -I${includedir}/fftw3

    然后,在以下include目录下创建fftw3目录,并把相关头文件放入其中: 

mingo@localhost:~/Applications/workspace/av/Shotcut/Contents/Frameworks/include$tree -L 1
.
├── fftw3
├── frei0r.h
├── ladspa.h
├── libavcodec
├── libavdevice
├── libavfilter
├── libavformat
├── libavutil
├── libpostproc
├── libswresample
├── libswscale
├── libvmaf
├── mlt-7
├── movit
├── opencv4
└── vid.stab15 directories, 2 files

     fftw3的头文件就放在fftw3目录下。具体头文件来源请参加下一节。

3.1 build配置

    CMake的配置截图如下:

    CMake => Kit configuration => current configuration 文字描述如下:

CMAKE_INSTALL_PREFIX => /Users/mingo/Applications/workspace/avCMAKE_INSTALL_RPATH => @executable_path/../FrameworksCMAKE_INSTALL_RPATH_USE_LINK_PATH => ON

     然后在 CMake => Kit configuration => initial configuration 页面按如下配置:

​ 

    上图option的文字描述如下,方便拷贝: 

-DCMAKE_INSTALL_PREFIX=/Users/mingo/Applications/workspace/av -DCMAKE_INSTALL_RPATH=@executable_path/../Frameworks -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON

    最后在此指定pkg config的路径:

​ 

    老规矩,文字描述如下,方便copy: 

PKG_CONFIG_PATH => /Users/mingo/Applications/workspace/av/Shotcut/Contents/Frameworks/lib/pkgconfig

3.2 run配置

    完整配置参见下图:

​ 

    截图不方便copy,因此贴于此处: 

Executable  =>  /Users/mingo/Applications/workspace/av/Shotcut/Contents/MacOS/ShotcutQTDIR  =>  /Users/mingo/Applications/workspace/tools/qt5.15.2/6.5.3/macosQT_PLUGIN_PATH  =>  /Users/mingo/Applications/workspace/tools/qt5.15.2/6.5.3/macospluginsQML2_IMPORT_PATH  =>  ${QTDIR}/qml

4 安装fftw3

    由于下载后的工程里没有fftw相关头文件和lib文件,需要另外设法搞到。执行以下命令安装fftw,arm64下缺省安装在/opt/homebrew/Cellar/fftw/3.3.10_1/下:

brew install fftw

    这一步骤如果报错,请按报错指引安装即可。安装完毕后相关的文件在以下目录:

mingo@localhost:~/Applications/workspace/av/Shotcut/Contents/MacOS$tree -L 2 /opt/homebrew/Cellar/fftw/3.3.10_1/
/opt/homebrew/Cellar/fftw/3.3.10_1/
├── AUTHORS
├── COPYING
├── COPYRIGHT
├── ChangeLog
├── INSTALL_RECEIPT.json
├── NEWS
├── README
├── TODO
├── bin
│   ├── fftw-wisdom
│   ├── fftw-wisdom-to-conf
│   ├── fftwf-wisdom
│   └── fftwl-wisdom
├── include
│   ├── fftw3-mpi.f03
│   ├── fftw3-mpi.h
│   ├── fftw3.f
│   ├── fftw3.f03
│   ├── fftw3.h
│   ├── fftw3l-mpi.f03
│   ├── fftw3l.f03
│   └── fftw3q.f03
├── lib
│   ├── cmake
│   ├── libfftw3.3.dylib
│   ├── libfftw3.a
│   ├── libfftw3.dylib -> libfftw3.3.dylib
│   ├── libfftw3_mpi.3.dylib
│   ├── libfftw3_mpi.a
│   ├── libfftw3_mpi.dylib -> libfftw3_mpi.3.dylib
│   ├── libfftw3_omp.3.dylib
│   ├── libfftw3_omp.a
│   ├── libfftw3_omp.dylib -> libfftw3_omp.3.dylib
│   ├── libfftw3_threads.3.dylib
│   ├── libfftw3_threads.a
│   ├── libfftw3_threads.dylib -> libfftw3_threads.3.dylib
│   ├── libfftw3f.3.dylib
│   ├── libfftw3f.a
│   ├── libfftw3f.dylib -> libfftw3f.3.dylib
│   ├── libfftw3f_mpi.3.dylib
│   ├── libfftw3f_mpi.a
│   ├── libfftw3f_mpi.dylib -> libfftw3f_mpi.3.dylib
│   ├── libfftw3f_omp.3.dylib
│   ├── libfftw3f_omp.a
│   ├── libfftw3f_omp.dylib -> libfftw3f_omp.3.dylib
│   ├── libfftw3f_threads.3.dylib
│   ├── libfftw3f_threads.a
│   ├── libfftw3f_threads.dylib -> libfftw3f_threads.3.dylib
│   ├── libfftw3l.3.dylib
│   ├── libfftw3l.a
│   ├── libfftw3l.dylib -> libfftw3l.3.dylib
│   ├── libfftw3l_mpi.3.dylib
│   ├── libfftw3l_mpi.a
│   ├── libfftw3l_mpi.dylib -> libfftw3l_mpi.3.dylib
│   ├── libfftw3l_omp.3.dylib
│   ├── libfftw3l_omp.a
│   ├── libfftw3l_omp.dylib -> libfftw3l_omp.3.dylib
│   ├── libfftw3l_threads.3.dylib
│   ├── libfftw3l_threads.a
│   ├── libfftw3l_threads.dylib -> libfftw3l_threads.3.dylib
│   └── pkgconfig
├── sbom.spdx.json
└── share├── info└── man9 directories, 57 files

 然后进入到Shotcut的安装目录下,执行如下命令,将dylib库copy到Frameworks目录下:

cd /Users/mingo/Applications/workspace/av/Shotcut/Contents/Frameworks
cp /opt/homebrew/Cellar/fftw/3.3.10_1/lib/libfftw3.3.dylib ./

    拷贝include文件到以下安装目录:

cp /opt/homebrew/Cellar/fftw/3.3.10_1/include/* ./
mingo@localhost:~/Applications/workspace/av/Shotcut/Contents/Frameworks/include/fftw3$tree -L 1
.
├── fftw3-mpi.f03
├── fftw3-mpi.h
├── fftw3.f
├── fftw3.f03
├── fftw3.h
├── fftw3l-mpi.f03
├── fftw3l.f03
└── fftw3q.f031 directory, 8 files

5 编译运行

    链接时报错fftw3库找不到:

    解决办法:

    确保fftw.pc文件按以下书写正确:

prefix=/Users/mingo/Applications/workspace/av/Shotcut
exec_prefix=${prefix}/build
libdir=${prefix}/Contents/Frameworks
includedir=${prefix}/Contents/Frameworks/include
datadir=${prefix}build/shareName: fftw3-3
Description: fftw3.3.10
Version: 3.3.10
Requires: fftw3.3
Libs: -L${libdir} -lfftw3.3
Cflags: -I${includedir}/fftw3

    然后,确保libfftw3.3.dylib库copy到了如下目录:

/Users/mingo/Applications/workspace/av/Shotcut/Contents/Frameworks

     最后执行Run Cmake重新生成makefile,然后再编译链接即可:

​.   编译成功,成功运行:     

6 参考文献

    Shotcut - How To Use the macOS SDK ,此文是ShotcutmacOS上的官方编译文档。借助此文可少走很多弯路。

http://www.yayakq.cn/news/308159/

相关文章:

  • 一站式企业服务ps教程app
  • 网站收录提交入口网址在哪可以接企业网站建设的活
  • 用scala做网站十大高端网站建设
  • 做的好的有哪些网站wordpress 后台编辑
  • 旅游网站建设方案简介福州企业网站建站模板
  • 网站改版 权重学生网站建设实训总结
  • 用jsp sqlserver做的购物网站大华建设项目管理有限公司网站
  • 网站开发连接数据库大数据免费查询平台
  • 综合购物网站排名百度推广关键词越多越好吗
  • 网站初始开发的步骤网络运营商有哪些
  • 国外网站设计的网站南宁兴宁区建设局网站
  • 做网站怎么做iis为网站子目录绑定二级域名
  • vs2012怎么做网站企业网站建设验收
  • 网站编写教程徐州地区网站建设
  • 网站降权恢复佛山网站建设外包公司
  • wordpress数据库断开网站的优化方案
  • 服饰网站模板设计动画毕业设计代做网站
  • 电子商务网站有那些功能广州做网站比较有名的公司
  • 网络教育网站如何做营销推广十大安卓应用商店排名
  • 免费做电子目录的网站中国科技成就
  • 新手卖家做来赞达网站如何厦门找一家做网站的公司
  • 做外贸生意上国外网站wordpress获取不同分类文章
  • 株洲网站定制亩地 wordpress
  • 信息公开网站建设怎么自己创建小程序
  • 横沥网站建设常用的网络营销工具有哪些
  • 网站推广计划方法注册登录
  • 爱站企业设计网站建设
  • 制作网站网页泉州seo优化排名公司
  • 网站源码建站常州网站搭建
  • 衙门口网站建设wordpress充值金币的插件