Skip to content

Commit

Permalink
Update to Qt 6.8.1
Browse files Browse the repository at this point in the history
  • Loading branch information
D0ntPanic authored and CouleeApps committed Jan 26, 2025
1 parent 1748791 commit 2cf4b2d
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ cmake --build build -j8
In addition to the default build setup, you may want to:

- **Build examples.** To build the [API examples](#examples), pass `-DBN_API_BUILD_EXAMPLES=ON` to CMake when configuring the build. After the build succeeds, you can install the built plugins by running the `install` target. When using the "Unix Makefiles" build generator, this looks like: `make install`.
- **Build UI plugins.** You will need Qt 6.7.2 installed to build UI plugins. We use a slightly modified [build configuration](https://github.com/Vector35/qt-build) internally that has some ABI-compatible fixes and changes to defaults, but a stock build can also work. Note that it is not recommended to use pre-built configurations from Homebrew. Either using the official installer or building from our repo is recommended.
- **Build UI plugins.** You will need Qt 6.8.1 installed to build UI plugins. We use a slightly modified [build configuration](https://github.com/Vector35/qt-build) internally that has some ABI-compatible fixes and changes to defaults, but a stock build can also work. Note that it is not recommended to use pre-built configurations from Homebrew. Either using the official installer or building from our repo is recommended.
- **Build headlessly.** If you are using a headless Binary Ninja distribution or you do not wish to build UI plugins, pass `-DHEADLESS=ON` to CMake when configuring the build.

### Troubleshooting
Expand Down
10 changes: 5 additions & 5 deletions docs/about/open-source.md
Original file line number Diff line number Diff line change
Expand Up @@ -307,14 +307,14 @@ The previous tools are used in the generation of our documentation, but are not

## Building Qt

Binary Ninja uses [Qt 6.7] under an LGPLv3 license which requires that we host the original sources used to build Qt for
Binary Ninja uses [Qt 6.8] under an LGPLv3 license which requires that we host the original sources used to build Qt for
our application along with instructions on how that source may be re-built and can replace the version of Qt shipped
with Binary Ninja.

Please note that we offer no support for running Binary Ninja with modified Qt libraries.

1. Follow the installation requirements on the [Building Qt 6 from Git] page.
2. Download the Qt 6.7.2 [tarball] from binary.ninja. The Qt code has a [patch] applied but is ABI compatible with the
2. Download the Qt 6.8.1 [tarball] from binary.ninja. The Qt code has a [patch] applied but is ABI compatible with the
official Qt release.
3. Next, build Qt with the [qt-build] repository. Alternatively, build Qt using the aforementioned instructions.
4. On macOS, you will need to disable the code-signing signature since it would otherwise prevent changes to binaries or shared libraries.
Expand All @@ -324,7 +324,7 @@ Please note that we offer no support for running Binary Ninja with modified Qt l
- On Linux, replace the `libQt6Core.so.6`, `libQt6DBus.so.6`, `libQt6Gui.so.6`, `libQt6Network.so.6`, `libQt6Widgets.so.6`, `libQt6XcbQpa.so.6` files wherever Binary Ninja was extracted.

[Building Qt 6 from Git]: https://wiki.qt.io/Building_Qt_6_from_Git
[Qt 6.7]: https://www.qt.io/licensing/open-source-lgpl-obligations
[Qt 6.8]: https://www.qt.io/licensing/open-source-lgpl-obligations
[abseil-cpp]: https://github.com/abseil/abseil-cpp
[abseil-cpp license]: https://github.com/abseil/abseil-cpp/blob/master/LICENSE
[capstone]: https://github.com/aquynh/capstone
Expand Down Expand Up @@ -367,8 +367,8 @@ Please note that we offer no support for running Binary Ninja with modified Qt l
[sphinx]: http://www.sphinx-doc.org/en/stable/index.html
[sqlite license]: https://www.sqlite.org/copyright.html
[sqlite]: https://www.sqlite.org/index.html
[tarball]: https://binary.ninja/qt6.7.2.tar.xz
[patch]: https://binary.ninja/qt6.7.2.patch
[tarball]: https://binary.ninja/qt6.8.1.tar.xz
[patch]: https://binary.ninja/qt6.8.1.patch
[qt-build]: https://github.com/Vector35/qt-build
[yasm license]: https://github.com/yasm/yasm/blob/master/BSD.txt
[yasm]: http://yasm.tortall.net/
Expand Down
4 changes: 2 additions & 2 deletions docs/dev/plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ automatically detect the plugin target and will compile and install correctly. H
setup for building and live debugging your plugin:

1. If you installed Binary Ninja somewhere other than the default, add an environment variable in your CMake Profile pointing at the installation, e.g.: `BN_INSTALL_DIR=/Applications/Binary Ninja.app`
2. If you are writing a UI plugin, you will need to include the directory containing `qmake` to the `PATH` Environment Variable in your CMake Profile, e.g.: `PATH=/usr/bin:/bin:/usr/sbin:/sbin:/Users/user/Qt/6.7.2/clang_64/bin`
2. If you are writing a UI plugin, you will need to include the directory containing `qmake` to the `PATH` Environment Variable in your CMake Profile, e.g.: `PATH=/usr/bin:/bin:/usr/sbin:/sbin:/Users/user/Qt/6.8.1/clang_64/bin`
3. In your Run Configuration's Before Launch steps, add an Install step. This will copy the updated version of your plugin before starting, so you don't have to run Install manually.
4. Set the Executable of your Run Configuration to point to the Binary Ninja executable. This allows you to compile your plugin and start Binary Ninja automatically.
i. On macOS, you will need the full path to /Applications/Binary Ninja.app/Contents/MacOS/binaryninja
Expand Down Expand Up @@ -320,7 +320,7 @@ You need to set up a task in `.vscode/tasks.json` to build and install your plug
// You will need this if your Binary Ninja installation is not in the default location
"BN_INSTALL_DIR": "C:\\Users\\User\\AppData\\Local\\Vector35\\BinaryNinja",
// You will need this if you are writing a UI plugin
"PATH": "C:\\Users\\User\\Qt\\6.7.2\\msvc2019_64\\bin"
"PATH": "C:\\Users\\User\\Qt\\6.8.1\\msvc2019_64\\bin"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion ui/addressdialog.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class BINARYNINJAUIAPI AddressDialogWithPreview : public QDialog
private Q_SLOTS:
void updateTimerEvent();
void accepted();
void updateRelativeState(int state);
void updateRelativeState(Qt::CheckState state);
void updatePreview();
void updatePreviewText();
void updatePreviewWithText(QString data);
Expand Down
2 changes: 1 addition & 1 deletion view/sharedcache/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ if (NOT BN_INTERNAL_BUILD)
if(WIN32)
set(MSVC_VERSION msvc2022_64 CACHE STRING "Version of MSVC Qt is built with" )
endif()
set(QT_VERSION 6.7.2 CACHE STRING "Version of Qt to use")
set(QT_VERSION 6.8.1 CACHE STRING "Version of Qt to use")

if(NOT CMAKE_PREFIX_PATH)
if(APPLE)
Expand Down

0 comments on commit 2cf4b2d

Please sign in to comment.