Overview
The C++ sample programs in the STEP Tools® software documentation are Visual Studio projects packed as zipfiles, one for each different version of Visual Studio and one with a Makefile-based project for MacOS, Linux, and UNIX platforms.
Save the package to local disk and then unzip. Most of the sample programs create a Console application that you can run from the command line.
Windows - Visual Studio
On Windows, open the project file with Visual Studio. The project usually has settings for 32bit/64bit and linking with static libraries or DLLs versions of the STEP Tools® software libraries. Open the Configuration Manager and select a combination that matches your setup:
- Use Win32 platform for 32bit and Personal Edition
- Use x64 platform for 64bit Edition
- Use Release or Debug config to link using static libraries.
- Use Release DLL or Debug DLL config to link using DLLs.
Once you have set the configuration as shown below, compile the program by selecting "Build All". After you are finished with the sample programs, you can create and configure your own brand-new projects.
MacOS / Linux / Unix
On MacOS, Linux, and other Unix systems, the project directory contains a makefile that builds the sample program. Simply unzip the package and compile the program by typing make.
The makefile uses ROSE, ROSE_INCLUDE, and ROSE_LIB environment variables to find the STEP Tools® software libraries. After you are finished with the sample programs, you can use it as a template or configure a makefile from scratch.
anvil[27]: unzip geometry_unix.zip Archive: geometry_unix.zip inflating: geometry/context_utils.cxx inflating: geometry/context_utils.h inflating: geometry/geometry.cxx inflating: geometry/geometry_out.stp inflating: geometry/geometry_utils.cxx inflating: geometry/geometry_utils.h inflating: geometry/Makefile inflating: geometry/make_box.cxx inflating: geometry/make_const_box.cxx inflating: geometry/README.txt inflating: geometry/unit_utils.cxx inflating: geometry/unit_utils.h anvil[28]: cd geometry anvil[29]: make gcc -c -O -I/usr/steptools_20/include -I/usr/steptools_20/include/stp_aim geometry.cxx gcc -c -O -I/usr/steptools_20/include -I/usr/steptools_20/include/stp_aim make_box.cxx gcc -c -O -I/usr/steptools_20/include -I/usr/steptools_20/include/stp_aim make_const_box.cxx gcc -c -O -I/usr/steptools_20/include -I/usr/steptools_20/include/stp_aim geometry_utils.cxx gcc -c -O -I/usr/steptools_20/include -I/usr/steptools_20/include/stp_aim context_utils.cxx gcc -c -O -I/usr/steptools_20/include -I/usr/steptools_20/include/stp_aim unit_utils.cxx gcc -L/usr/steptools_20/lib/linux_x64_gcc -o geometry geometry.o \ make_box.o make_const_box.o geometry_utils.o context_utils.o unit_utils.o \ -lstp_aim -lrosemath -lrosexml -lrose -lpthread -lrt