We do our best to provide answers to try and answer the most
frequently asked questions in this section. If you do not find an
answer here, or find the information provided unsatisfying, please
let us know by opening a support call in our Support
Center and we will try to respond as promptly as possible. You
may also visit our Knowledge Base page for a variety of articles.
Index
Important Note: If you don't find an answer to your question
in this section, search the knowledgebase section in our Support
Center for a possible answer.
- I've noticed some files with the
"vcx0_ib_" prefix (x can be "6", "7" or "8") appear in the
intermediate directory of my project during the IncrediBuild
operation. Why does this occur?
- I'm comparing OBJ/EXE files that
MSVC created to those of IncrediBuild - and they're not the same.
Why?
- How can a user disable an Agent
temporarily to make sure IncrediBuild will not use the machine's
CPU?
- I've changed some of the
directories in the "Directories" tab under the tools->Options
menu in MSVC 6.0, and my change doesn't seem to have effect on
IncrediBuild. Is this OK?
- I'm trying to run BuildConsole
from the command line but keep getting the "'BuildConsole' is not
recognized as an internal or external command, operable program or
batch file." error. Why?
- It looks like some debug
information is missing. Can this be related to IncrediBuild (MSVC
6.0-specific)?
- When building projects, only my
machine's Agent participates in the build!
- I can't see the IncrediBuild
tray-icon display. How do I restore it?
- I've disabled the IncrediBuild
Agent on my machine, but my machine seems very unresponsive. When
checking the running processes in the task manager, I see a cl.exe
process, although I'm not running a build. What's the
problem?
- I can't see the IncrediBuild
menu/toolbar in Microsoft Studio! Where's it gone?
- Browse information is not
generated when building a project with IncrediBuild, although it is
generated when building with MSVC. Why?
- I'm getting the following
warning: "IncrediBuild: build system warning: #import directives in
the precompiled header should use the no_implementation attribute.
See FAQ section in documentation for more details.". What's
wrong?
- When compiling, I get a "No such
file or directory" error on a header file/type library
file.
- When compiling, it seems that
the compiler is using a different/out-of-date version of a header
file/type library file.
- Looking at the Output view in
the Build Monitor, it looks like the display is missing output for
many files that have already been compiled. What's
wrong?
- When running an incremental
build with MSVC after building with IncrediBuild, I get the
following build warning: "warning C4652: compiler option 'Generate
Browser Info' inconsistent with precompiled header; current
command-line option will override that defined in the precompiled
header". What is wrong?
- The IncrediBuild Agent fails to
start on my machine. What's wrong?
- When running a build, some
Agents start compiling files, but stop before the compilation is
finished, causing the file's compilation bar to disappear. What's
wrong?
- I'm getting the following
warning:
"File includes the following header files that are also included
by the precompiled header, and use the '#pragma once'
directive.
This may cause interoperability problems when using IncrediBuild to
build the precompiled-header and MSVC to build source files that
use it, or vice versa.
Refer to the FAQ section in the documentation for more details and
possible workarounds."
What's wrong?
- I've installed a
permanent/temporary IncrediBuild license, but when trying to build,
I get a message saying my Agent isn't subscribed. What am I doing
wrong?
- I've installed a
permanent/temporary IncrediBuild license supporting multiple
CPUs/cores, but only one processor is used in builds. What should I
do?
- I'm getting the following
warning:
"One or more source files use automatic precompiled headers.
This setting is not recommended and may degrade build performance.
See FAQ section in documentation for more details."
What's wrong?
- Why does the Coordinator show an
Agent as 90%-100% CPU available while it's actually
isn't?
- I can't get Edit & Continue
to work. What's wrong?
- When building, I see two
compilation bars showing the same file being compiled on two
different machines. Is this normal?
Q&A
Q: I've noticed some
files with the "vcx0_ib_" prefix (x can be "6", "7" or "8") appear
in the intermediate directory of my project during the IncrediBuild
operation. Why does this occur?
A: This is normal. IncrediBuild
generates separate debug information and .idb files for each of the
Agents participating in the build, and these are stored in the
intermediate folder.
Back to
top
Q: I'm comparing OBJ/EXE
files that MSVC created to those of IncrediBuild - and they're not
the same. Why?
A: There are some differences between
IncrediBuild's output and MSVC's, caused by debug information
placement, timestamps in the binary files, OBJ file order in the
linking phase and so on. This is normal and will not affect the
application's behavior.
Back
to top
Q: How can a user
disable an Agent temporarily to make sure IncrediBuild will not use
the machine's CPU?
A: By right-clicking on the
IncrediBuild tray-icon and choosing "Disable Agent". This can also
be done remotely from the Coordinator application.
Back to top
Q: I've changed some of
the directories in the "Directories" tab under the
tools->Options menu in MSVC 6.0, and my change doesn't seem to
have effect on IncrediBuild. Is this OK?
A: The directories in these settings
should only be used for system-wide settings, as they will affect
all projects compiled on that machine. Project-level settings
should always be done via the "Project Settings" dialog. MSVC 6.0
stores any new or modified directory information when it is closed,
so in order for IncrediBuild to be aware of the new system
directories MSVC must be closed once after modifying the
information.
Back to
top
Q: I'm trying to run
BuildConsole from the command line but keep getting the
"'BuildConsole' is not recognized as an internal or external
command, operable program or batch file." error.
Why?
A: The PATH environment variable is
not set to the IncrediBuild installation folder. Note that you can
only use BuildConsole in computers that have Microsoft Visual
Studio installed.
Back to
top
Q: It looks like some
debug information is missing. Can this be related to IncrediBuild
(MSVC 6.0-specific)?
A: This may be related to use of the
"Separate Types" linker option. The "Separate Types" option
(located in the "Linker" page, under MSVC's Settings dialog)
instructs the linker to leave debug information stored in the
compiler generated PDB files, instead of generating a single PDB
file for the entire project. When this option is used with
IncrediBuild, separate PDB files are created for each Agent
participating in the build. In this scenario, if you're using debug
information files that have been copied using scripts, some PDB
files may not have been copied, resulting in loss of debug
information. The recommended resolution is to turn off the
"Separate types" linker option in the project (you can also use the
built-in override option in the Agent Settings dialog). This will
always guarantee a single PDB file for the project. Another
alternative is to fix the relevant scripts.
Back to top
Q: When building
projects, only my machine's Agent participates in the
build!
A: This can be caused by a number of
reasons:
1. The Agent on your machine is not subscribed on the
Coordinator machine. Check with your system administrator to see if
your license allows adding your machine to the list of subscribed
Agents.
2. The extension package required for building the project is not
allocated to your Agent. Allocating build system packages is done
from the Coordinator application. Check with your system
administrator to see if your license allows allocation of the
required extension package to your machine.
3. The project contains a very small amount of files and therefore
they do not get distributed between the Agents.
4. The Coordinator name or port set in the Agent Settings dialog in
your machine is incorrect.
5. The Coordinator is currently unavailable, either because the
machine it is running on is shut down or disconnected from the
network, or because the Coordinator service is not active.
6. Your machine is disconnected from the network. Check network
cable and settings.
7. Network security restrictions are blocking TCP/IP access from
your machine to either the Coordinator machine or the Agent
machines in the network.
8. Your trial period of IncrediBuild has expired.
Back to top
Q: I can't see the
IncrediBuild tray-icon display. How do I restore it?
A: Select "Programs files->Xoreax
IncrediBuild->IncrediBuild Agent Tray-Icon" from the Start menu
to restore the tray-icon display. If you wish the IncrediBuild
tray-icon to always be displayed, verify that the "Enable tray-icon
display on system start-up" option is selected in the Agent
Settings dialog "Tray-Icon" page.
Back to top
Q: I've disabled the
IncrediBuild Agent on my machine, but my machine seems very
unresponsive. When checking the running processes in the task
manager, I see a cl.exe process, although I'm not running a build.
What's the problem?
A: On some versions of Windows NT, the
operating system reports the screen-saver as running even when it's
not. Since IncrediBuild operates as a high-priority process when
the screen-saver is active, this may noticeably reduce your
computer's responsiveness. To avoid this situation, open the
IncrediBuild Agent Settings dialog. You should immediately receive
a message stating that the screen-saver is falsely reported as
active, and the option that automatically enables the Agent when
the screen-saver starts will be disabled.
Back to top
Q: I can't see the
IncrediBuild menu/toolbar in Microsoft Studio! Where's it
gone?
A: Use the "Visual Studio Add-in"
section in the Agent Settings dialog to restore the menu and
toolbar using either the "Add-in Installation removal' section or,
for MSVC 6.0, the "Fix menu" and "Fix Toolbar" buttons. Note that
the MSVC 6.0 add-in requires the add-in to be installed separately
for each user using the machine. This can be done using this
dialog. If only the toolbar is missing, the explanation could be
that it is simply hidden. To check if this is the case, right-click
on the toolbar section in Microsoft Studio and verify that all
listed toolbars beginning with the word "Toolbar" are
checked.
Back to
top
Q: Browse information is
not generated when building a project with IncrediBuild, although
it is generated when building with MSVC. Why?
A: IncrediBuild keeps a global setting
to determine whether to generate browse information or not. This
can be set from the "Build System" tab in the Agent Settings
dialog. You may also override this setting for a particular project
when building a project from the batch build dialog.
Back to top
Q: I'm getting the
following warning: "IncrediBuild: build system warning: #import
directives in the precompiled header should use the
no_implementation attribute. See FAQ section in documentation for
more details.". What's wrong?
A: IncrediBuild is notifying you of an
#import directive that was found in the precompiled header source
file, without the "no_implementation" keyword. This is problematic
for two reasons:
- You may get "file not found" compilation errors when a source
file #includes a .TLI file that was generated by this PCH. Using
#import with the "no_implementation" flag in the PCH file, as
described below, will solve this.
- Not using this keyword may slow down compilation as a result of
larger PCH files.
The following excerpt is from the MSDN Library "#import"
topic:
"The implementation_only attribute is intended for use in
conjunction with the no_implementation attribute as a way of
keeping the implementations out of the precompiled header (PCH)
file. An #import statement with the no_implementation attribute is
placed in the source region used to create the PCH. The resulting
PCH is used by a number of source files. An #import statement with
the implementation_only attribute is then used outside the PCH
region. You are required to use this statement only once in one of
the source files. This will generate all the required wrapper
member functions without additional recompilation for each source
file."
Back to top
Q: When compiling, I get
a "No such file or directory" error on a header file/type library
file.
A: Check if this file is generated by
a custom build step or a MIDL step in another project in the
workspace. If so, this may be caused by a missing inter-project
dependency definition in the workspace. See the documentation
section on "Dependency Issues" (under "Advanced Topics") for more
information.
Back to
top
Q: When compiling, it
seems that the compiler is using a different/out-of-date version of
a header file/type library file.
A: see answer in previous
question.
Back to
top
Q: Looking at the Output
view in the Build Monitor, it looks like the display is missing
output for many files that have already been compiled. What's
wrong?
A: During compilation, IncrediBuild
buffers the build output for some of the configurations to make
sure that different configurations' output doesn't mix up. To view
all output messages for each configuration, use the Projects view.
The output display will gradually contain the entire build
output.
Back to
top
Q: When running an
incremental build with MSVC after building with IncrediBuild, I get
the following build warning: "warning C4652: compiler option
'Generate Browser Info' inconsistent with precompiled header;
current command-line option will override that defined in the
precompiled header". What is wrong?
A: There is a conflict between
IncrediBuild's browse information creation options and the way MSVC
handles browse information for that project. To overcome this, do
one of the following:
- If you wish to use browse information:
1. Set the configuration's project settings
to generate browse information (this is done by checking the browse
info checkboxes on both the C/C++ page and the Browse info page in
MSVC's project settings dialog).
2. Set IncrediBuild's browse information
creation settings (in the Agent Settings dialog) to create browse
information for this configuration (this can be done by selecting
"Always" or "According to 'Generate browse info' project setting",
or by using a matching search phrase).
3. Rebuild the project.
1. If the IncrediBuild Agent tray-icon display indicates an
error graphic, click on the tray-icon once to display the last
error encountered by the IncrediBuild Agent service, and see if
this leads to the source of the problem.
2. Try replacing the following files, which should appear in your
Windows/System32 folder, by copying them from another machine, with
the same operating system, that has a working Agent installed:
- perfc009.dat
- perfd009.dat
If not, run the Windows setup installation to restore
these system files.
3. Contact Xoreax Support
and provide as much detail as you can about the problem.
Back to top
Q: When running a build,
some Agents start compiling files, but stop before the compilation
is finished, causing the file's compilation bar to disappear.
What's wrong?
A: This could be happening because of
a network configuration error. For IncrediBuild to operate
properly, all of the following tests should work:
1. Ping the problem Agent from the building machine, using its
IP address.
2. Ping the problem Agent from the building machine, using its
network name.
3. Ping the building machine from the problem Agent, using its IP
address.
4. Ping the building machine from the problem Agent, using its
network name.
Back to top
Q: I'm getting the
following warning:
"File includes the following header files that are also included
by the precompiled header, and use the '#pragma once'
directive.
This may cause interoperability problems when using IncrediBuild to
build the precompiled-header and MSVC to build source files that
use it, or vice versa.
Refer to the FAQ section in the documentation for more details and
possible workarounds." What's
wrong?
A: When a source file includes one or
more header files that are also included by the precompiled header
and use the '#pragma once' directive, these header files may be
#included more than once despite the #pragma once directive. This
will happen only in .NET builds, in one of the following 2
scenarios:
1. When the PCH was compiled using IncrediBuild and the source
files compiled without IncrediBuild.
2. When the PCH was compiled without IncrediBuild and the source
files compiled using IncrediBuild.
There are 2 possible workarounds for this issue:
1. Remove the explicit #include directive for these header files
from cpp files that use the PCH (the file will be included through
the PCH).
2. Replace the #pragma once directive in the header file with the
following preprocessor code:
#ifndef __HEADER_NAME__
#define __HEADER_NAME__
<header file contents>
#endif
Back to top
Q: I've installed a
permanent/temporary IncrediBuild license, but when trying to build,
I get a message saying my build will run in standalone mode. What
am I doing wrong?
A: Either your Agent is unsubscribed,
or the required build system extension package has not been
allocated to your Agent. To correct this, do the following:
1. Open the Coordinator application.
2. Locate your Agent in the Agent list.
3. If the 'Status' column says 'Unsubscribed', right-click the
Agent and select 'Subscribe'. If the 'Subscribe' option is grayed
out, your license has reached its limit of subscribed Agents and
you must first unsubscribe an Agent.
4. If the 'Packages' column specifies 'Build Helper' or a different
MSVC version from the one you are using to build your project,
right-click the Agent and use the 'Allocate Package' option to
allocate the appropriate build system extension package to your
Agent.
Back to top
Q: I've installed a
permanent/temporary IncrediBuild license supporting multiple
CPUs/cores, but only one processor is used in builds. What should I
do?
A: Your Agent is probably missing the
"Mutltiple CPU(s)/Core(s)" extension package. To correct this, do
the following:
1. Open the Coordinator application.
2. Locate your Agent in the Agent list.
3. Right-click the Agent and select 'Allocate Package->Mutltiple
CPU(s)/Core(s)'. If this option is grayed out, your license has
used up all of its "Multiple CPU(s)/Core(s)" extension packages and
you must first deallocate this package from one of the other
Agents.
Back to top
Q: I'm getting the
following warning:
"One or more source files use automatic precompiled headers.
This setting is not recommended and may degrade build performance.
See FAQ section in documentation for more details."
What's wrong?
A: Your project is using "Automatic"
precompiled headers. When used with IncrediBuild, this setting will
have a negative impact on build performance and is therefore not
recommended. To resolve this situation, either use standard
(header-based) precompiled headers or turn off use of precompiled
headers altogether.
Back to top
Q: Why does the
Coordinator show an Agent as 90%-100% CPU available while it's
actually isn't?
A: If the screen saver is running, IB
assumes the machine is available even if the screensaver takes up
CPU. If the Agent on that machine is then used for compilation, the
compiler will run as a high-priority process so it will get more
CPU than the screen saver.
Back to top
Q: I can't get Edit
& Continue to work. What's wrong?
A: IncrediBuild supports Edit &
Continue, but requires files to be used with this feature to be
specified in advance using the Solution Settings dialog. For more
information, see this page in the user manual.
Back to top
Q: When building, I see
two compilation bars showing the same file being compiled on two
different machines. Is this normal?
A: Yes, this is actually an
optimization feature - to prevent situations in which a build is
slowed down due to a slow remote Agent, IncrediBuild will sometimes
double a file's compilation on the local machine to speed up the
build. In this scenario, the same file could appear to be compiled
twice.
Back to top
Q: How many Coordinators
and Agents should I use?
A: The number of Coordinators in your
license corresponds to the number of working groups that will be
using IncrediBuild. Each Coordinator will control a separate group
of Agents that can run distributed builds among themselves.
Distributing your Agents between more than one Coordinator can be
done at no additional charge, but keep in mind that distributing a
number of Agents between more than one Coordinator will mean less
processing power for each of the groups.
There are two basic types of Agents: Helper Agents, which cannot
initiate builds but can contribute processing power to distributed
builds, and Builder Agents, that can initiate distributed builds.
Builder Agents also include the Helper Agent functionality. You
would typically need Builder Agents for all machines that start
builds, and a few Helper Agents for machines that can contribute
processing power to distributed builds.
The best way to figure out which license structure best suits
your need is to try the IncrediBuild ROI Calculator. This will give a detailed
explanation as well as a price quote.
Back to top
Q: Are site licenses
available?
A: Yes, sire licenses are available
for 200+ users. Contact our sales department for more
details.
Back to top
Q: How do I add more
Agents to an existing license?
A: Send mail to our sales department stating your current
license details and required change in the license. We will contact
you and provide you with instructions for updating your
license.
Back to top
Q: What are "Helper"
Agents?
A: Helper Agents are less expensive
clients that add processing power to the build environment, but are
not capable of initiating builds. Helper Agents can be installed on
any PC or server in the organization. They can be configured either
as a dedicated build farm machine, or to only take advantage of
idle processor time, so that the computer's responsiveness isn't
affected. There is no need to install additional software on
machines running Helper Agents.
Back to top
Q: Do I have to pay for
the Coordinator application?
A: No. The Coordinator is provided
free of charge, and pricing is only determined according to the
number of Agents in the license.
Back to top
Q: I'm a licensed user
using IncrediBuild with Visual Studio .NET. Can I use it with
Visual Studio 2005 and 2008 or do I need to upgrade?
A: Yes. Starting from IncrediBuild
v2.50, licenses supporting Visual Studio .NET can be used with
Visual Studio 2005 and 2008. Note that if your maintenance service
has expired and you are using an older version, you may have to
renew your maintenance service in order to upgrade to this
version.
Back to
top
Q: After purchasing a
license, can I move an Agent from one machine to
another?
A: Yes, if your license's maintenance
option is still in effect. This will involve a simple process in
which the old Agent must first be "unsubscribed" and the new one
"subscribed". Both operations are performed centrally from the
IncrediBuild Coordinator application.
Back to top
Q: My trial period has
expired, and I need a few more days to finalize the purchase
procedure. Can I get an extension?
A: Sure. Just fill in the Trial
Period Extension Form and you will receive a 2-week extension
file within a couple of days.
Back to top
Q: Are multiple CPU/core
machines supported and how is this addressed in the licensing
model?
A: IncrediBuild can take advantage of
machines with multiple CPUs/cores by allowing processors to build
files in parallel. This can introduce a substantial additional
performance gain. When using IncrediBuild's 30-day
evaluation version, you will be able to use an unlimited number
of additional CPUs/cores in builds. When licensing IncrediBuild,
multi-CPU/core support is available for an additional cost. See the
Pricing and Terms page for more details.
Back to top
Q: Am I entitled to
support and version upgrades after purchasing
IncrediBuild?
A: Each initial IncrediBuild license
purchase entitles you to 6 months of free version upgrades and
support. This period can be extended for an annual fee. See the
Pricing and Terms page for more details.
Back to top
Q: How is the product
delivered and what are the delivery terms?
A: A product license file will be
delivered by email within 1 business day of receiving the order. No
physical shipment is made.
Back to top
Q: I am a licensed user.
I want to split my license between several physical sites. Is this
possible?
A: Yes - this service is provided for
free. If you wish to transfer some of the Agents used in one
location to another location, contact us at sales@xoreax.com and we'll provide
you with details.
Back to top
Q: I have a
sales-related question that I haven't found an answer to. How do I
contact you?
A: Write to us at sales@xoreax.com. We'll do our best
to provide a speedy response.
Back to top
Q: What do I have to do in
order to install IncrediBuild for evaluation in a networked
environment?
A: Installing an IncrediBuild
environment will typically take less than 15 minutes of your time.
After downloading and running the Setup program, you will be
required to install the Coordinator component on one computer (a
desktop PC will do). After this simple wizard-based process, use
the setup program to install the Agent component on some PCs
connected to the local network (an Agent machine's setup typically
lasts less than a minute, and doesn't even require a reboot).
That's it! IncrediBuild is ready to build.
Back to top
Q: Am I creating a
dependency of any kind on IncrediBuild? Can I still use Visual
Studio's Build command with IncrediBuild installed on my
machine?
A: MSVC's standard Build operations
(from the Visual Studio IDE and from the command line) can be used
at all times regardless of IncrediBuild's presence. What this means
is that you will always have the option to go back to building as
usual. If build scripts are used, they will have to undergo a minor
change (replacing VC's command-line build tool with
IncrediBuild's).
Back to
top
Q: Am I required to make
changes in my C++ project for IncrediBuild to work?
A: No. IncrediBuild will build any
C/C++ project that can be built using Visual Studio. In some cases
it will be necessary to add project dependency information to allow
multiple projects to be built in the correct order.
Back to top
Q: How will the Microsoft
Visual Studio environment change after installing
IncrediBuild?
A: An IncrediBuild menu and toolbar
containing Build, Rebuild, Clean, Batch Build and Stop Current
Build commands will become available. Simply use these commands
instead of VC's. When building, the output will be displayed in a
special "Build Monitor" display (also integrated with the
environment), that will contain the build output as well as many
other useful features such as a build progress bar, a visual
display of the progress, timings and so on.
Back to top
Q: Can IncrediBuild be used
from the command-line or from build scripts?
A: Yes. IncrediBuild includes a strong
command-line interface for building projects, which can easily be
integrated in any script that runs msdev.exe/devenv.exe to build
projects. In fact, BuildConsole.exe supports the devenv/msdev
command line syntax so you would typically only need to replace the
executable name in your script!
Back to top
Q: Which portions of my
build will IncrediBuild distribute when building Visual Studio
projects?
A: IncrediBuild will distribute C/C++
compilation and MIDL steps. In addition, any custom build steps,
build events (pre-build, pre-link, post-build) and files running
custom rules may be distributed using the XGE Interfaces extension
package.
Back to
top
Q: How can I know how
effective IncrediBuild will be when used to compile my C++
project?
A: The best way is to simply
try
it. However, experience shows that in the vast majority of
projects that are over just a few files in size, IncrediBuild will
reduce full build time down to around 10%-30%, and incremental
build times to anything between 10% and 75% (Depending on the
number of files being recompiled).
Back to top
Q: What types of file
formats can IncrediBuild accept as input?
A: IncrediBuild is compatible with
Microsoft Visual C++ 6.0 project DSP/DSW files, MSVC .NET/2005/2008
.VCPROJ & .SLN files, Intel C/C++ Optimizing Compiler .icproj
files, and embedded VC 4.0 .vcw/.vcp files.
Using the XGE Interfaces package, IncrediBuild can also work using
a variety of make tools, scripting technologies and custom tools,
as well as with IncrediBuild's general-purpose XML format.
Back to top
Q: Can IncrediBuild alter
the compilation or link process, potentially creating problems in
the build output?
A: No. IncrediBuild uses the same
executables for all build steps (compilation, linking, etc.).
IncrediBuild is not a new compiler, but rather a more efficient
method of using your compiler.
Back to top
Q: Can IncrediBuild slow
down other user's machines in my organization as a result of the
distributed compilation process?
A: IncrediBuild Agents automatically
adjust their behavior according to the activity level in the
machine they are installed on. By default, Agents run compilations
with a process priority that's lower than that of other processes
in the system. This makes the operating system allocate less CPU
resources to IncrediBuild than to user and operating system
processes. So, a computer that is unused will be running
IncrediBuild at full pace, while on a more active computer the
Agent will maintain its activity at a lower level. Normally, users
do not even feel the presence of an IncrediBuild Agent on their
machine.
Back to
top
Q: What are the
software/hardware prerequisites for installing
IncrediBuild?
A:
- Operating system: Windows NT, Windows 2000, Windows XP, Windows
Server 2003 and Windows Vista.
- Network: any TCP/IP based network.
- Software prerequisites (for Agents that initiate Visual Studio
builds only): Microsoft Visual C++ 6.0, .NET 2002/2003, 2005 or
2008 (Express Edition is not supported).
- Minimal hardware requirements: Pentium 400Mhz, 64 Mb RAM,
Ethernet card.
- Recommended hardware: Pentium IV 2.1Ghz, 512Mb RAM, 100 Mbps
Ethernet card.
- The Coordinator component does not have any software
prerequisites.
Back to top
Q: Won't IncrediBuild use
up all of my LAN bandwidth?
A: No. A lot of effort has been put
into network optimization tactics such as caching and compression
to make sure network traffic will be kept at a minimum. In standard
networks IncrediBuild's presence is hardly felt at all, even when
several compilations are taking place.
Back to top
Q: My workstations do not
share the same configuration. They have different operating
systems, versions of MSVC, service packs, dll versions etc. Will
this pose any problems?
A: When executing build operations on
a remote Agent, all actions are performed using a "Virtual
Environment" that acts as a copy of the original building machine's
environment. This means that the compiler executables used in the
compilation will be identical to those found in the building
machine. In fact, they don't even have to exist on the remote
Agent!
Back to
top
Q: I noticed a folder
named "File Cache" under my IncrediBuild installation folder that's
taking up a lot of disk space. What does it do?
A: This folder caches source files
transferred from remote Agents, in order to speed up distributed
builds. It should be large enough to accommodate all of your source
tree and any system include files being used. The folder size and
location can be adjusted from the Agent Settings dialog and the
Coordinator monitor.
Back to
top
Q: How can I adjust my
scripts to identify if a build was run with
IncrediBuild?
A: IncrediBuild automatically defines
an environment variable called "IncrediBuildContext", that has the
value "1" when running builds. Your custom build steps can query
this environment variable to see if the build is being run with
IncrediBuild.
Back to
top
Q: I understand that
IncrediBuild is using network protocols to move files around and
execute programs. What precautions have you taken to make
IncrediBuild safe from security threats?
A: To start off, IncrediBuild's
license configuration lists the Agents that are "authorized" to
participate in the system, protecting your environment from
potential attempts to misuse the system from outside the authorized
working group. A lot of attention has been put into making the
network protocols as safe as possible from internal threats, as
well. Finally, all file activity is done within a closed virtual
environment, to make sure that your files will not be harmed even
in the case of these measures failing to stop an attempt to misuse
the system. In addition to these measures IncrediBuild will also
benefit from any security infrastructure (firewalls etc.) installed
in your organization.
Back to
top
Q: I'm using precompiled
headers in my project. Does IncrediBuild support this? Is there
anything I should be aware of regarding precompiled
headers?
A: Yes, IncrediBuild supports projects
using Precompiled Headers and will accelerate projects using PCHs.
Specifically, "Automatic" PCHs have been known to slow down builds
when used with IncrediBuild, and our recommendation if you are
using automatic PCHs is to either switch to using a standard
header-based PCH or disable PCHs altogether.
Back to top
Q: I'm using Visual
Studio's browse information functionality. Will this still be
available to me if I use IncrediBuild?
A: Yes, IncrediBuild supports the
creation of browse information files.
Back to top
Q: Some of my projects
contain custom, pre-build, pre-link and post-build steps. Will
IncrediBuild cope with that?
A: Yes. Custom build steps and build
events are executed locally on the building machine (if that
machine has more than one CPU, several steps can run in parallel on
each CPU).
Back to
top
Q: My project uses COM
objects, and requires DLL's and type libraries to compile some of
my files. How does IncrediBuild handle this?
A: All compilation is done from within
a virtual mirror environment that acts as a copy of the building
machine's environment. This means that regardless of what files and
DLLs are on the remote machine, it will produce a compilation
output that's based on the DLLs and files found on the original
machine.
Back to
top
Q: Some of my source files
are located on network drives. How will this affect IncrediBuild's
behavior and performance?
A: IncrediBuild can access files
located on the network. In fact, it is actually more effective in
this case. Because of its caching mechanism, IncrediBuild will give
even better results compared to VC's when compiling projects that
include files located on the network.
Back to top
Q: How does IncrediBuild
determine which machines will participate in a
build?
A: The IncrediBuild Coordinator is
aware of each Agent's CPU strength, current CPU activity level, and
other factors that can affect the Agent's effectiveness in
compilation. When a build starts, the Coordinator assigns the most
effective Agents currently available to that build. This initial
assignment may change throughout the build as the Agent's
availability changes. For example, if a user starts a CPU-intensive
task on a machine participating in a remote build, that machine
will most probably stop compiling immediately, and another machine
will be assigned to that build in its place.
Back to top
Q: What happens if several
Agents start a build simultaneously?
A: In this case, the IncrediBuild
Coordinator will attempt to assign Agents to the builds in a manner
that will give each of the builds an equally high share of the
available CPU in the system.
Back to top
Q: What happens if the
Coordinator becomes unavailable for some reason during a
build?
A: Although the Coordinator manages
the resources available for remote compilation, it is not a
critical component for builds to succeed. If a build has started
and the Coordinator component is for some reason unavailable, the
build will continue with its current Agent assignments until it is
done building. Subsequent builds will work in standalone mode until
the Coordinator becomes available again. For the highest possible
level of availability, you may install a "Backup Coordinator",
which will automatically take control if the main Coordinator
becomes unavailable.
Back to
top
Q: What happens if an
Agent that is compiling for a remote machine suddenly becomes
unavailable during a build?
A: If the Agent becomes unavailable or
is simply too busy to be effective in the compilation, it will
simply stop working, and the file that it has been compiling will
be reassigned to another Agent. The build will continue
uninterrupted.
Back to
top
Q: I'm using a
compiler/linker different from MSVC's for better code optimization.
I still develop and build my project using Visual Studio. Will
IncrediBuild support the compiler I'm using?
A: IncrediBuild currently supports
Microsoft's cl.exe (all Visual Studio, eVC, Xbox and Xbox 360
platforms) and Intel Corporation's optimizing C/C++ Compiler.
Additional compilers may be supported in the future. The XGE
Interfaces extension package can be used with a variety of build
tools and scripts to run compilers that are not currently
supported.
Back to
top
Q: What programming
languages does IncrediBuild support?
A: IncrediBuild's Visual Studio
integration supports C and C++ projects stored in Microsoft Visual
C++ format.
Back to
top
Q: Does IncrediBuild
support multi-processor machines?
A: Yes. IncrediBuild can exploit
additional processors to improve compilation time. This feature is
available at an additional cost.
Back to top
Q: Does IncrediBuild
support Microsoft Visual C++ .NET?
A: Yes. IncrediBuild fully supports
MSVC .NET 2002 and 2003 (all project types).
Back to top
Q: Does IncrediBuild
support Microsoft Visual C++ 2005?
A: IncrediBuild fully supports Visual
Studio 2005.
Back to
top
Q: Does IncrediBuild
support Microsoft Visual C++ 2008?
A: IncrediBuild fully supports Visual
Studio 2008.
Back to
top
Q: Does IncrediBuild
support Xbox projects?
A: Yes. IncrediBuild fully supports
distributed builds of Xbox projects in the MSVC .NET
platform.
Back to
top
Q: Does IncrediBuild
support Xbox 360 projects?
A: Yes. IncrediBuild fully supports
distributed builds of Xbox 360 projects.
Back to top
Q: Can I use IncrediBuild
on a standalone machine?
A: Yes - with multiple-CPU machines,
you can use IncrediBuild to exploit both the machines' processors
and substantially improve compilation speed.
Back to top
Q: Am I required to
manually copy files between machines, register DLLs or perform any
preliminary action after installing IncrediBuild in order for my
project to compile?
A: No, IncrediBuild will handle all of
the synchronization itself, and will do it within a virtual
environment - the computer's file system will be left unchanged, no
DLLs will be installed etc.
Back to top
Q: How many Agents can
there be in an IncrediBuild environment?
A: One IncrediBuild Coordinator will
effectively serve up to 400 Agents. In cases where more Agents are
required, we recommend splitting the environment into workgroups,
each with its own Coordinator.
Back to top
Q: Is it OK to install an
Agent in the same machine as the Coordinator?
A: It is perfectly OK, and even common
practice. The Coordinator is a lightweight component that does not
take a lot of resources. Try not installing both on a machine with
particularly weak hardware, though.
Back to top
Q: Can I build C# or VB
projects with IncrediBuild?
A: Yes. IncrediBuild builds non-C/C++
projects in a separate shell running "devenv.exe /make". While this
will provide support for your solution, the only performance gain
will be in the C/C++ project sections.
Back to top
Q: Can I build
makefile-based projects with IncrediBuild?
A: Using the XGE Interfaces extension
package introduced in IncrediBuild 3.0, IncrediBuild can distribute
builds run by a variety of make and build tools.
Back to top
Copyright (C) 2001-2008 Xoreax Software Ltd. All rights
reserved.