Code Monkey home page Code Monkey logo

Comments (13)

glassez avatar glassez commented on June 1, 2024

Maybe unclean build directory?

from qbittorrent.

jriker1 avatar jriker1 commented on June 1, 2024

I just built it for the first time. Removed cmake, removed the vcpkg folder and obviously new install of this beta build. Then started from scratch. Not sure but guessing some conflict with Qt6 libraries and something? The conflicting values for example:

qwindows.lib(qwindowsintegration.cpp.obj) : error LNK2038: mismatch detected for '_COROUTINE_ABI': value '1' doesn't match value '2' in qbt_base.lib(sessionimpl.cpp.obj)

Show that two libraries or what I see have different values for the same thing or something.

from qbittorrent.

glassez avatar glassez commented on June 1, 2024

So maybe there are different values of -std flag are used when building Qt and qBittorrent (or other its dependencies)?

from qbittorrent.

jriker1 avatar jriker1 commented on June 1, 2024

Beyond my knowledge. I basically just followed the cmake steps on the Wiki to build it other than i had to change or add

.\vcpkg install qtbase:x64-windows-static qtsvg:x64-windows-static qttools:x64-windows-static

to the supported libraries since qBittorrent now uses qt6 vs qt5.

from qbittorrent.

glassez avatar glassez commented on June 1, 2024

i had to change or add

.\vcpkg install qtbase:x64-windows-static qtsvg:x64-windows-static qttools:x64-windows-static

to the supported libraries since qBittorrent now uses qt6 vs qt5.

Did I understand correctly that you are trying to build the current qBittorrent with Qt5?

from qbittorrent.

jriker1 avatar jriker1 commented on June 1, 2024

No. The current Wiki article says it's using Qt5. I modified the vcpkg line per above to use Qt6.

Note I just blew away the whole qbittorrent folder and did the following:

  1. Download the latest cmake also tried the one built into VS
  2. Put ninja in my path
  3. All the tools and features are installed with VS
  4. Opened the VS cmd prompt
  5. git clone https://github.com/microsoft/vcpkg
  6. cd .\vcpkg
  7. .\bootstrap-vcpkg.bat -disableMetrics
  8. .\vcpkg integrate install
  9. .\vcpkg install boost-circular-buffer:x64-windows-static boost-stacktrace:x64-windows-static openssl:x64-windows-static qtbase:x64-windows-static qtsvg:x64-windows-static qttools:x64-windows-static
  10. .\vcpkg install libtorrent:x64-windows-static
  11. Go into the C:\qbittorrent\qBittorrent-release-5.0.0beta1 folder
  12. cmake -G "Ninja" -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="C:\qbittorrent\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET="x64-windows-static" -DMSVC_RUNTIME_DYNAMIC=OFF
  13. cmake --build build

Get the above errors.

from qbittorrent.

glassez avatar glassez commented on June 1, 2024

@jriker1
So why do you need to compile it yourself?

from qbittorrent.

jriker1 avatar jriker1 commented on June 1, 2024

Probably not the right path to go down for the question unless you are eliminating manual compiling but I usually modify a few things to work with some custom scripts with Sonarr. Minor tweaks. Right now just trying to deal with compiling it at all.

from qbittorrent.

glassez avatar glassez commented on June 1, 2024

Probably not the right path to go down for the question unless you are eliminating manual compiling

Manual compilation requires some competence, because no one will provide you with instructions that would work under any conditions. If you cannot check the assumptions about the cause of the compilation problem because it is "Beyond my knowledge", then only someone who compiles it himself under exactly the same conditions can help you to provide you with detailed instructions. I'm not using the wiki method, so I won't be able to help you with it.

from qbittorrent.

jriker1 avatar jriker1 commented on June 1, 2024

Yeah, problem is conceptually very obvious. The libraries and code being used is mixing code that is using experimental coroutines with code that uses standard coroutines and they can't interoperate

from qbittorrent.

glassez avatar glassez commented on June 1, 2024

Yeah, problem is conceptually very obvious. The libraries and code being used is mixing code that is using experimental coroutines with code that uses standard coroutines and they can't interoperate

Yes.
That's why I assumed that different compilation flags are used for Qt and qBittorrent, namely a different version of the C++ standard. qBittorrent v5.0 requires C++20, so it is forced in the build configuration. Qt most likely uses C++17 (or earlier) by default.

from qbittorrent.

xavier2k6 avatar xavier2k6 commented on June 1, 2024

Qt most likely uses C++17 (or earlier) by default.

As of Qt 6, (C++17 compatible compiler is now required) see: https://www.qt.io/blog/qt-6.0-released

C++20 is still opt-in, see: https://www.qt.io/blog/qt-6.7-released
(Qt 6.7 also has better support for Windows 11 23H2/macOS 14 - Sonoma)

@jriker1 What changes are you trying to make in the code/why don't you use GitHub Actions?
(you can then also use/test Qt 6.7.1 etc.)
vcpkg have only just recently updated to Qt 6.6.3, there's a PR open for Qt 6.7.0

from qbittorrent.

xavier2k6 avatar xavier2k6 commented on June 1, 2024

BTW, I don't see any mention in the wiki of zlib or in your comments & it may have no bearing on this issue either but just as an FYI for vcpkg it's zlib:x64-windows-static

from qbittorrent.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.