Xcode Manual Download



The main debugger settings are associated with the kit you build and run your project with. To specify the debugger and compiler to use for each kit, select Tools > Options > Kits.

For basic iOS usage this process should be sufficient. For projects that include Xcode frameworks, you must perform some additional configuration. Using Xcode Frameworks. To add Xcode frameworks manually, use the Xcode Manipulation API. The API is maintained by the Unity iOS team and API allows you to manage external Xcode frameworks. Mac users who prefer to have a more traditional Unix toolkit accessible to them through the Terminal may wish to install the optional Command Line Tools subsection of the Xcode IDE. From MacOS High Sierra, Sierra, OS X El Capitan, Yosemite, Mavericks onward, this is now easily possible directly and without installing the entire Xcode package. The LLDB native debugger has similar functionality to the GDB debugger. LLDB is the default debugger in Xcode on macOS for supporting C on the desktop. LLDB is typically used with the Clang compiler (even though you can use it with GCC, too). On macOS you can use the LLDB version delivered with Xcode or build from source.

You need to set up the debugger only if the automatic setup fails, because the native debugger is missing (as is usually the case for the CDB debugger on Windows, which you always must install yourself) or because the installed version is not supported (for example, when your system contains no, or an outdated version of GDB and you want to use a locally installed replacement instead).

Note: If you need to change the debugger to use for an automatically detected kit, you can Clone the kit and change the parameters in the clone. Make sure to select the cloned kit for your project.

If the debugger you want to use is not automatically detected, select Tools > Options > Kits > Debuggers > Add to add it.

Note: To use the debugging tools for Windows, you must install them and add the Symbol Server provided by Microsoft to the symbol search path of the debugger. For more information, see Setting CDB Paths on Windows.

Note: To use the Free Software Foundation (FSF) version of GDB on macOS, you must sign it and modify your kit settings.

This section explains the options you have for debugging C++ code and provides installation notes for the supported native debuggers. It also applies for code in other compiled languages such as C, FORTRAN, Ada.

For more information on the debugger modes, see Launching the Debugger in Different Modes.

Supported Native Debugger Versions

Qt Creator supports native debuggers when working with compiled code. On most supported platforms, the GNU Symbolic Debugger GDB can be used. On Microsoft Windows, when using the Microsoft tool chain, the Microsoft Console Debugger CDB is needed. On macOS and Linux, the LLDB debugger can be used.

The following table summarizes the support for debugging C++ code:

PlatformCompilerNative Debugger
LinuxGCC, ICCGDB, LLDB
UnixGCC, ICCGDB
macOSGCC, ClangLLDB, FSF GDB (experimental)
Windows/MinGWGCCGDB
Windows/MSVCMicrosoft Visual C++ CompilerDebugging Tools for Windows/CDB

Supported GDB Versions

Starting with version 3.1, Qt Creator requires the Python scripting extension. GDB builds without Python scripting are not supported anymore and will not work. The minimum supported version is GDB 7.5 using Python version 2.7, or 3.3, or newer.

For remote debugging using GDB and GDB server, the minimum supported version of GDB server on the target device is 7.0.

Supported CDB Versions

All versions of CDB targeting platforms supported by Qt are supported by Qt Creator.

Supported LLDB Versions

The LLDB native debugger has similar functionality to the GDB debugger. LLDB is the default debugger in Xcode on macOS for supporting C++ on the desktop. LLDB is typically used with the Clang compiler (even though you can use it with GCC, too).

On macOS you can use the LLDB version delivered with Xcode or build from source. The minimum supported version is LLDB 320.4.

On Linux, the minimum supported version is LLDB 3.8.

Installing Native Debuggers

The following sections provide information about installing native debuggers.

GDB

On Windows, use the Python-enabled GDB version that is bundled with the Qt package or comes with recent versions of MinGW. On most Linux distributions, the GDB builds shipped with the system are sufficient.

You can also build your own GDB, as instructed in Building GDB.

Builds of GDB shipped with Xcode on macOS are no longer supported.

Debugging Tools for Windows

To use the CDB debugger, you must install the Debugging tools for Windows. You can download them from Download and Install Debugging Tools for Windows as part of the Windows SDK.

Note: Visual Studio does not include the Debugging tools needed, and therefore, you must install them separately.

In addition, you must select Qt Creator CDB Debugger Support (in Qt > Tools > Qt Creator) when you install Qt or the stand-alone Qt Creator.

When manually building Qt Creator using the Microsoft Visual C++ Compiler, the build process checks for the required files in '%ProgramFiles%Debugging Tools for Windows'.

It is highly recommended that you add the Symbol Server provided by Microsoft to the symbol search path of the debugger. The Symbol Server provides you with debugging informaton for the operating system libraries for debugging Windows applications. For more information, see Setting CDB Paths on Windows.

Debugging Tools for macOS

The Qt binary distribution contains both debug and release variants of the libraries. But you have to explicitly tell the runtime linker that you want to use the debug libraries even if your application is compiled as debug, as release is the default library.

If you use a qmake based project in Qt Creator, you can set a flag in your run configuration, in Projects mode. In the run configuration, select Use debug version of frameworks.

For more detailed information about debugging on macOS, see: Mac OS X Debugging Magic.

LLDB

We recommend using the LLDB version that is delivered with the latest Xcode.

Xcode download manual profiles location

Setting up FSF GDB for macOS

To use FSF GDB on macOS, you must sign it and add it to the Qt Creator kits.

  1. To create a key for signing FSF GDB, select Keychain Access > Certificate Assistant > Create a Certificate:
    1. In the Name field, input fsfgdb to replace the existing content.
    2. In the Certificate Type field, select Code Signing.
    3. Select the Let me override defaults check box.
    4. Select Continue, and follow the instructions of the wizard (use the default settings), until the Specify a Location For The Certificate dialog opens.
    5. In the Keychain field, select System.
    6. Select Keychain Access > System, and locate the certificate.
    7. Double click the certificate to view certificate information.
    8. In the Trust section, select Always Trust in the When using this certificate field, and then close the dialog.
  2. To sign the binary, enter the following command in the terminal:
  3. In Qt Creator, select Qt Creator > Preferences > Kits > Add to create a kit that uses FSF GDB.
  4. In the Debugger field, specify the path to FSF GDB ($HOME/gdb72/bin/fsfgdb, but with an explicit value for $HOME).
  5. To use the debugger, add the kit in the Build Settings of the project.

© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.

Prerequisites¶

Before installing Zeek, you’ll need to ensure that some dependenciesare in place.

Required Dependencies¶

Zeek requires the following libraries and tools to be installedbefore you begin:

  • Libpcap (http://www.tcpdump.org)

  • OpenSSL libraries (https://www.openssl.org)

  • BIND8 library

  • Libz

  • Bash (for ZeekControl)

  • Python 3.5 or greater (https://www.python.org/)

To build Zeek from source, the following additional dependencies are required:

  • CMake 3.5 or greater (https://www.cmake.org)

  • Make

  • C/C++ compiler with C++17 support (GCC 7+ or Clang 4+)

  • SWIG (http://www.swig.org)

  • Bison 2.5 or greater (https://www.gnu.org/software/bison/)

  • Flex (lexical analyzer generator) (https://github.com/westes/flex)

  • Libpcap headers (http://www.tcpdump.org)

  • OpenSSL headers (http://www.openssl.org)

  • zlib headers (https://zlib.net/)

  • Python 3.5 or greater (https://www.python.org/)

To install the required dependencies, you can use:

  • RPM/RedHat-based Linux:

    Additionally, on RHEL/CentOS 7, you can install and activate a devtoolset to get accessto recent GCC versions. You will also have to install and activate CMake 3.For example:

  • DEB/Debian-based Linux:

  • FreeBSD:

    Most required dependencies should come with a minimal FreeBSD installexcept for the following.

  • macOS:

    Compiling source code on Macs requires first installing either Xcodeor the “Command Line Tools” (which is a much smaller download). To checkif either is installed, run the xcode-select-p command. If you seean error message, then neither is installed and you can then runxcode-select--install which will prompt you to either get Xcode (byclicking “Get Xcode”) or to install the command line tools (byclicking “Install”).

    macOS comes with all required dependencies except for CMake, SWIG,Bison, and OpenSSL (OpenSSL headers were removed in macOS 10.11,therefore OpenSSL must be installed manually for macOS versions 10.11or newer).

    Distributions of these dependencies can likely be obtained from yourpreferred macOS package management system (e.g. Homebrew,MacPorts, or Fink). Specifically for Homebrew, the cmake,swig, openssl, and bison packagesprovide the required dependencies. For MacPorts, the cmake,swig, swig-python, openssl, and bison packages providethe required dependencies.

Xcode Manual Download

Optional Dependencies¶

Download

Zeek can make use of some optional libraries and tools if they are found atbuild time:

  • libmaxminddb (for geolocating IP addresses)

  • sendmail (enables Zeek and ZeekControl to send mail)

  • curl (used by a Zeek script that implements active HTTP)

  • gperftools (tcmalloc is used to improve memory and CPU usage)

  • jemalloc (https://github.com/jemalloc/jemalloc)

  • PF_RING (Linux only, see PF_RING Cluster Configuration)

  • krb5 libraries and headers

  • ipsumdump (for trace-summary; https://github.com/kohler/ipsumdump)

Geolocation is probably the most interesting and can be installedon most platforms by following the instructions for installingthe GeoIP library and database.

The zkg package manager, included in the Zeek installation, requirestwo external Python modules:

  • GitPython: https://pypi.org/project/GitPython/

  • semantic-version: https://pypi.org/project/semantic-version/

These install easily via pip (pip3installGitPythonsemantic-version) and ship with some distributions:

  • RPM/RedHat-based Linux:

  • DEB/Debian-based Linux:

Installing Zeek¶

Zeek can be downloaded as either pre-built binary packages for Linux, or insource code form. On many platforms, Zeek also comes already integrated intopackage management systems (e.g., Homebrew on macOS), Note, however, that suchexternal packages may not always be fully up to date.

Using Pre-Built Binary Release Packages for Linux¶

We are providing prebuilt binary packages for a variety of Linux distributions.See the Binary-Packages wiki for the latest updates onbinary releases and for more information.

You can download the packages for the latest feature release build herefor all the supported distributions. Please follow the instructions on thatlink to add rpm/deb repositories for the corresponding OS; grabbing the binaryfiles directly does not give you all dependencies. The package source files areavailable here.

As an example, for CentOS:

For CentOS 8 run the following as root:

For CentOS 7 run the following as root:

Furthermore, you can download the packages for the latest LTS release buildhereand nightly builds are also available herefor all the supported operating systems. Please follow the instructions on thelinks to add rpm/deb repositories for the corresponding OS; grabbing the binaryfiles directly does not give you all dependencies. The source files for LTSbuilds are available here and fornightly builds source files are here.

For example, if you prefer to use the most recent LTS release, use yuminstallzeek-lts, and for the nightly builds use yuminstallzeek-nightly instead.

The primary install prefix for binary packages is /opt/zeek (dependingon which version you’re using).

Installing from Source¶

Zeek releases are bundled into source packages for convenience and areavailable on the downloads page. The source code can be manually downloadedfrom the link in the .tar.gz format to the target system for installation.

Xcode Manual Pdf Download

If you plan to contribute to Zeek or just want to try out the latestfeatures under development, you should obtain Zeek’s source code through itsGit repositories hosted at https://github.com/zeek:

Note

If you choose to clone the zeek repositorynon-recursively for a “minimal Zeek experience”, be aware thatcompiling it depends on several of the other submodules as well, soyou’ll likely have to build/install those independently first.

The typical way to build and install from source is (for more options,run ./configure--help):

If the configure script fails, then it is most likely because it eithercouldn’t find a required dependency or it couldn’t find a sufficiently newversion of a dependency. Assuming that you already installed all requireddependencies, then you may need to use one of the --with-* optionsthat can be given to the configure script to help it locate a dependency.To find out what all different options ./configure supports, run./configure--help.

The default installation path is /usr/local/zeek, which would typicallyrequire root privileges when doing the makeinstall. A differentinstallation path can be chosen by specifying the configure script--prefix option. Note that /usr, /opt/bro/, and /opt/zeek arethe standard prefixes for binary Zeek packages to be installed, so those aretypically not good choices unless you are creating such a package.

OpenBSD users, please see our FAQ if you are havingproblems installing Zeek.

Depending on the Zeek package you downloaded, there may be auxiliarytools and libraries available in the auxil/ directory. Some of themwill be automatically built and installed along with Zeek. There are--disable-* options that can be given to the configure script toturn off unwanted auxiliary projects that would otherwise be installedautomatically. Finally, use makeinstall-aux to install some ofthe other programs that are in the auxil/zeek-aux directory.

Finally, if you want to build the Zeek documentation (not required, becauseall of the documentation for the latest Zeek release is available athttps://docs.zeek.org), there are instructions in doc/README in the sourcedistribution.

Cross Compiling¶

Prerequisites¶

Download

You need three things on the host system:

  1. The Zeek source tree.

  2. A cross-compilation toolchain, such as one built via crosstool-NG.

  3. Pre-built Zeek dependencies from the target system. This usuallyincludes libpcap, zlib, OpenSSL, and Python development headersand libraries.

Configuration and Compiling¶

You first need to compile a few build tools native to the host systemfor use during the later cross-compile build. In the root of yourZeek source tree:

Next configure Zeek to use your cross-compilation toolchain (this exampleuses a Raspberry Pi as the target system):

Download

Here, the RaspberryPi-toolchain.cmake file specifies a CMaketoolchain. In the toolchain file, you need to point the toolchain andcompiler at the cross-compilation toolchain. It might look something thefollowing:

Xcode Manual Download

If that configuration succeeds you are ready to build:

And if that works, install on your host system:

Once installed, you can copy/move the files from the installation prefix on thehost system to the target system and start running Zeek as usual.

Configure the Run-Time Environment¶

You may want to adjust your PATH environment variableaccording to the platform/shell/package you’re using sinceneither /usr/local/zeek/bin/ or /opt/zeek/bin/are in the default PATH. For example:

Bourne-Shell Syntax:

C-Shell Syntax:

Or substitute /opt/zeek/bin instead if you installed from a binary package.





Comments are closed.