pt吧 关注:158,730贴子:8,816,547

回复:debian7安装编译qb

只看楼主收藏回复

楼主为什么想不开要用debian7


收起回复
来自iPhone客户端45楼2018-02-28 17:14
    技术贴,mark


    回复
    来自Android客户端46楼2018-02-28 19:25
      直接安装不是更好?编译好麻烦


      收起回复
      来自Android客户端47楼2018-03-01 00:42
        哪有这么复杂啊大佬


        收起回复
        来自Android客户端48楼2018-03-01 00:45
          mark一下


          回复
          来自Android客户端49楼2018-03-01 08:32
            要用VNC就麻烦了(虽然不用VNC可能更麻烦)……我是一般都想在CLI下完成
            不过Debian9以前的系统要编译qBittorrent 4.0.x 确实麻烦不少,因为对qt的要求上升了,而系统源的版本太老只能自己装……
            我之前测试的时候,在10欧上编译了 qt 5.7.1,编译了差不多1个小时才编译完,然后qb 4.0.x 还是没装上 (configure的时候提示找不到qmake,可能我没指定好路径吧,下次试试指定下PATH)


            现在我选择在 Debian 9 用apt安装依赖,编译好各种qb版本,再把编译好的软件和运行库扔到Debian8上,省事很多……


            收起回复
            50楼2018-03-01 09:32
              连软件安装管理器都没有要它作甚


              收起回复
              来自Android客户端51楼2018-03-01 09:48
                昨天在一个单核1G内存的VPS上编译qt,跑了4个小时然后因为内存不足没编译出来……
                今天换了个四核8G内存的VPS又编译了一次qt,大概花了2个小时……


                系统 Debian 8.10


                wget http://download.qt.io/official_releases/qt/5.7/5.7.1/single/qt-everywhere-opensource-src-5.7.1.tar.gz
                tar qt-everywhere-opensource-src-5.7.1.tar.gz && cd qt-everywhere-opensource-src-5.7.1
                echo -ne 'o\nyes\n' | ./configure -no-xcb
                make -j$(nproc) && make install


                然后又去编译了一个 libtorrent-rasterbar 1.0.11,接下来编译 qBittorrent 4.0.4
                结果还是提示 qmake 找不到,四处搜索了一番以后改了下 configure


                git clone --depth=1 -b release-4.0.4 https://github.com/qbittorrent/qBittorrent ; cd qBittorrent
                ./configure --prefix=/usr --disable-gui QT_QMAKE=/usr/local/Qt-5.7.1/bin


                然后终于可以 make 了,结果还是报错


                webapplication.o:/usr/local/Qt-5.7.1/include/QtCore/qstring.h:411: more undefined references to `QString::trimmed_helper(QString const&)' follow
                webui.o: In function `QDebug::operator<<(QString const&)':
                /usr/local/Qt-5.7.1/include/QtCore/qdebug.h:154: undefined reference to `QDebug::putString(QChar const*, unsigned long)'
                webui.o: In function `WebUI::configure()':
                /root/qBittorrent/src/webui/webui.cpp:106: undefined reference to `QDebug::~QDebug()'
                /root/qBittorrent/src/webui/webui.cpp:106: undefined reference to `QDebug::~QDebug()'
                moc_session.o: In function `qRegisterNormalizedMetaType<QNetworkConfiguration>':
                /usr/local/Qt-5.7.1/include/QtCore/qmetatype.h:1700: undefined reference to `QMetaType::registerNormalizedType(QByteArray const&, void (*)(void*), void* (*)(void*, void const*), int, QFlags<QMetaType::TypeFlag>, QMetaObject const*)'
                moc_downloadmanager.o: In function `qRegisterNormalizedMetaType<QList<QSslError> >':
                /usr/local/Qt-5.7.1/include/QtCore/qmetatype.h:1700: undefined reference to `QMetaType::registerNormalizedType(QByteArray const&, void (*)(void*), void* (*)(void*, void const*), int, QFlags<QMetaType::TypeFlag>, QMetaObject const*)'
                moc_smtp.o: In function `qRegisterNormalizedMetaType<QAbstractSocket::SocketError>':
                /usr/local/Qt-5.7.1/include/QtCore/qmetatype.h:1700: undefined reference to `QMetaType::registerNormalizedType(QByteArray const&, void (*)(void*), void* (*)(void*, void const*), int, QFlags<QMetaType::TypeFlag>, QMetaObject const*)'
                moc_rss_article.o: In function `qRegisterNormalizedMetaType<RSS::Article*>':
                /usr/local/Qt-5.7.1/include/QtCore/qmetatype.h:1700: undefined reference to `QMetaType::registerNormalizedType(QByteArray const&, void (*)(void*), void* (*)(void*, void const*), int, QFlags<QMetaType::TypeFlag>, QMetaObject const*)'
                moc_rss_feed.o: In function `qRegisterNormalizedMetaType<RSS::Feed*>':
                /usr/local/Qt-5.7.1/include/QtCore/qmetatype.h:1700: undefined reference to `QMetaType::registerNormalizedType(QByteArray const&, void (*)(void*), void* (*)(void*, void const*), int, QFlags<QMetaType::TypeFlag>, QMetaObject const*)'
                moc_rss_feed.o:/usr/local/Qt-5.7.1/include/QtCore/qmetatype.h:1700: more undefined references to `QMetaType::registerNormalizedType(QByteArray const&, void (*)(void*), void* (*)(void*, void const*), int, QFlags<QMetaType::TypeFlag>, QMetaObject const*)' follow
                moc_scanfoldersmodel.o:(.data.rel.ro._ZTV16ScanFoldersModel[_ZTV16ScanFoldersModel]+0x80): undefined reference to `QAbstractListModel::sibling(int, int, QModelIndex const&) const'
                collect2: error: ld returned 1 exit status
                Makefile:571: recipe for target 'qbittorrent-nox' failed
                make[1]: *** [qbittorrent-nox] Error 1
                make[1]: Leaving directory '/root/qBittorrent/src'
                Makefile:42: recipe for target 'sub-src-make_first' failed
                make: *** [sub-src-make_first] Error 2


                搜了下没搜到什么解决办法,我还是决定放弃治疗了……
                ① 用 Debian9 编译好的 qb 4.0 版本拿到 Debian 8 上用
                ② 往系统源里添加 stretch 或者 sid 的源再去安装依赖
                感觉这大概是最简单的两种办法了,编译我这种小白真心搞不来


                收起回复
                52楼2018-03-02 18:26
                  上arch吧,源里有最新版qbittorrent


                  回复
                  54楼2018-03-02 23:55
                    继续挖一下这个帖子吧,就当给后来的人一个参考资料吧


                    总结了下 Mini客 的步骤,我这次在 Ubuntu 14.04 上编译成功了,然后丢给 SH 成功运行~


                    # 安装依赖
                    apt-get update
                    apt-get install -y python python3 checkinstall screen automake autoconf libtool git pkg-config zlib1g-dev build-essential libboost-dev libboost-system-dev libboost-chrono-dev libboost-random-dev libssl-dev geoip-database libgeoip-dev


                    # 编译安装 qt 5.5.1,在我的 Vultr 20 欧 VPS 上花了 47 分钟

                    wget https://download.qt.io/archive/qt/5.5/5.5.1/single/qt-everywhere-opensource-src-5.5.1.tar.xz
                    tar xf qt-everywhere-opensource-src-5.5.1.tar.xz && cd qt-everywhere-opensource-src-5.5.1
                    echo -ne 'o\nyes\n' | ./configure -no-xcb
                    make -j$(nproc)
                    checkinstall -y --pkgname=qt --pkgversion=5.5.1 # 用 checkinstall 速度更慢,不过生成一个 deb 包方便以后使用,用 deb 包安装就几秒钟的事情~


                    # 编译安装 libtorrent-rasterbar 1.0.11,在我的 Vultr 20 欧 VPS 上花了 4 分钟,反正也没多久就不用 checkinstall 了

                    cd ; git clone --depth=1 -b libtorrent-1_0_11 --single-branch https://github.com/arvidn/libtorrent
                    cd libtorrent
                    ./autotool.sh && ./configure --disable-debug --enable-encryption --with-libgeoip=system CXXFLAGS=-std=c++11 --prefix=/usr
                    make -j$(nproc) && make install
                    ldconfig

                    # 设定环境变量

                    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/Qt-5.5.1/lib/pkgconfig
                    export PATH=/usr/local/Qt-5.5.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


                    # 指定需要安装的 qb 版本号,以 4.0.4 为例
                    QBVERSION=4.0.4


                    # 编译安装 qBittorrent-nox,在我的 Vultr 20 欧 VPS 上花了 2 分钟

                    cd ; git clone --depth=1 -b release-$QBVERSION --single-branch https://github.com/qbittorrent/qBittorrent
                    cd qBittorrent
                    ./configure --prefix=/usr --disable-gui
                    make -j$(nproc) && make install


                    在 SeedHost 上运行




                    收起回复
                    55楼2018-04-16 10:06