This is described in the build documentation.
The FDO installation path on Linux is fixed. It is /usr/local/fdo-<version>.
The FDO installation path on Windows is configurable using a command-line argument to the build script.
Check out the settings in the solution (.sln) and project (.vcproj) files found in the FDO source folders on Windows and in the makefile.am and configure.in files found in the FDO source directories on Linux.
The assumption is that you are using Visual Studio Express, Standard or Professional 2005.
Use the installation path to set up the environment so that headers and libraries can be located at compile time, and shared objects can be located at runtime.
Use the build path to set up the environment so that the debugger can locate program database files (symbol tables) and source files at runtime.
You can make the various files visible by either setting solution or project properties or by setting Visual Studio tool options or by setting an environment variable (PATH).
The first step for the properties method is to select the solution or project in the Solution Explorer, right-click to its pop-up menu and select Properties. The result is that the properties dialog is displayed. If the project properties dialog is displayed, the second step is to expand 'Configuration Properties' in the properties dialog contents pane.
The first step for the tool options method is to select 'Options...' from the Tools menu in the main menubar. The result is that the options dialog is displayed.
In the project properties dialog contents pane expand 'Configuration Properties' and then 'C/C++'. Select 'General' and edit 'Additional Include Directories'.
Alternatively, in the options dialog contents pane expand 'Projects and Solutions' and then 'VC++ Directories'. Select 'Include files' from the spinbox labeled 'Show directories for:'. Follow the procedure for adding a directory.
In the project properties dialog contents pane expand 'Configuration Properties' and then 'Linker'. Select 'General' and edit 'Additional Library Directories'.
Alternatively, in the options dialog contents pane expand 'Projects and Solutions' and then 'VC++ Directories'. Select 'Library files' from the spinbox labeled 'Show directories for:'. Follow the procedure for adding a directory.
In the options dialog contents pane expand 'Projects and Solutions' and then 'VC++ Directories'. Select 'Executables' from the spinbox labeled 'Show directories for:'. Follow the procedure for adding a directory.
Or use XP to set the PATH environment variable to reference the location of the DLLs.
In the solution properties dialog contents pane expand 'Common Properties'. Select 'Debug Source Files'. Follow the procedure for adding a directory.
In the options dialog contents pane expand 'Projects and Solutions' and then 'VC++ Directories'. Select 'Source files' from the spinbox labeled 'Show directories for:'. Follow the procedure for adding a directory.
In the options dialog contents pane expand 'Debugging' and then 'Symbols'. Follow the procedure for adding a directory.
Set LD_LIBRARY_PATH.
To be done.
The API reference documentation has been created by using doxygen to process comments in the header files. When doxygen generates the html files, it distributes them across a generated file structure to allow for quicker access. This prevents direct linking to the class html files.
When you are asked to read FDO C++ class reference documentation, load the FDO C++ API Reference, click the Classes tab in the right-hand pane and click on the class name.
When you are asked to read FDO C# class reference documentation, load the FDO .NET API Reference, click the Classes tab in the right-hand pane and click on the class name.
Do the following:
The provider registry tells you what providers are installed.
Read about the GetProviderRegistry method in the FdoFeatureAccessManager C++ class reference or the FeatureAccessManager C# class reference.
Read about the GetProviders method in the FdoProviderRegistry C++ class reference or the ProviderRegistry C# class reference. This method returns the contents of the providers.xml file found in the <install>/bin folder on Windows and in the /usr/local/fdo-<version>/lib directory on Linux.
When you create the connection, you will use one of the strings returned by this method as an argument.
The connection manager creates connections.
Read about the GetConnectionManager method in the FdoFeatureAccessManager C++ class reference or the FeatureAccessManager C# class reference.
Read about the CreateConnection method in the FdoConnectionManager C++ class reference or the IConnectionManagerImp C# class reference.
At this point the state of the connection is closed.
Read about the GetConnectionState method in the FdoIConnection C++ class reference or the IConnectionImp C# class reference.
First you get the connection information. Read about the GetConnectionInfo method in the FdoIConnection C++ class reference or the IConnectionImp C# class reference.
Then you get the connection properties. Read about the GetConnectionProperties method in the FdoIConnectionInfo C++ class reference or the IConnectionInfoImp C# class reference. This method returns a connection property dictionary.
Read about the methods used to access the information in the connection properties dictionary in the FdoIConnectionPropertyDictionary C++ class reference or the IConnectionPropertyDictionary C# class reference. Using these methods you can find out the names of the properties, whether they are optional or mandatory, whether they have default values, their type, whether they are enumerable and, if enumerable, what the set of enumerated values is.
The types of properties used in connections include:
Each provider has its own unique set of connection properties. The connection properties for the various providers are described in The Essential FDO (PDF).
Read about the methods used to access the information in the connection properties dictionary in the FdoIConnectionPropertyDictionary C++ class reference or the IConnectionPropertyDictionary C# class reference.
Read about the Open method in the FdoIConnection C++ class reference or the IConnectionImp C# class reference.
Each of the RDBMS-based providers has a connection property, which is there to contain the name of a data store. The data store property is initially not required in order to make a connection. If the property is not set, then the resulting connection, if successful, is in a pending state.
As a result of the initial connection operation, the data store property is populated with the names of the data stores in the RDBMS, and its optionality attribute is changed to a value of required.
Use the EnumeratePropertyValues method on the FdoIConnectionPropertyDictionary (C++) object or the IConnectionPropertyDictionary (C#) object to read the set of data store names and set the data store property in the dictionary object to one of those names. Then call the Open method on the FdoIConnection (C++) object or the IConnectionImp (C#) object again. This will result in a fully open connection.
You can connect to an ArcSDE provider using a pending connection, you will find that there is only ever one name in the set of data store names returned as a result of the initial connection.
You use this provider to connect to an ArcSDE server, which is, in turn, connected to an Oracle or SQL Server data source.
The next step is to determine the number and composition of feature schema in the data store so that you can execute data maintenance (insert, update, and delete) and query (select) commands.
The next steps are to create a data store and a user, and after that, create a feature schema and execute data maintenance and query commands.
The next steps are to create a feature schema and execute data maintenance and query commands.
The next steps are to determine the composition of the feature schema and execute query commands.