Creo Toolkit Library Types
This section describes the various libraries available in a Creo TOOLKIT installation.
Overview
The libraries available in a Creo TOOLKIT installation have been classified under:
From Creo Parametric 4.0 F000 onward, the libraries listed in the following table are no longer supported and will not be available with the software. The New Library Name column provides a list of the equivalent libraries that are now available. Apart from the compatibility issues explained in the section Version Compatibility: Creo Parametric and Creo Parametric TOOLKIT, applications based on Creo Parametric 3.0 and previous releases will continue to run successfully with Creo Parametric 4.0.
Old Library Name
New Library Name
protk_dll.lib
protk_dll_NU.lib
protoolkit.lib
protoolkit_NU.lib
protk_dllmd.lib
protk_dllmd_NU.lib
protkmd.lib
protkmd_NU.lib
Linking the Applications
Before you run an existing application in Creo Parametric 8.0, link it to the new libraries and the import libraries: ucore.lib and udata.lib. The new libraries do not link the application to the Unicode libraries but use ucore.lib and udata.lib at runtime to resolve the Unicode dependencies, which also reduces the size of the application. Since these libraries are import libraries, the application must resolve Unicode dependencies at runtime by loading the actual libraries ucore64.dll and udata64.dll. These dlls are located at <creo_load_point>/Common Files/<platform>/obj and <creo_load_point>/Common Files/<platform>/lib.
In Creo Parametric 8.0.0.0 and later, the DLLs ucore46.dll and udata46.dll are not installed by default. If you need to load applications that are compiled prior to the Creo Parametric 7.0 release, you must install the DLLs separately. To download and install these DLLs separately, ensure that the Legacy Toolkit Application Runtime checkbox is selected while installing Creo Parametric. If you do not install these DLLs separately, your Creo TOOLKIT applications will not work.
Note
If you have upgraded to the latest version of Creo, the DLLs are automatically updated and you do not need the old libraries.
Note
Creo Parametric uses International Components for Unicode (ICU) for Unicode support. ICU is an open-source software. PTC is committed to use latest and most secure version of open source software, therefore PTC recommends that applications are re-linked with latest version of Creo.
For synchronous applications, the references to ucore64.dll and udata64.dll are resolved by Creo Parametric when the application is started.
For asynchronous applications, these references must be resolved by the application. For linking asynchronous applications, add the path where the dlls ucore64.dll and udata64.dll are located, that is<creo_load_point>/Common Files/<platform>/lib to the environment variable PATH.
All the sample makefiles available with Creo TOOLKIT use the new libraries. For instance, the sample example make_examples created for Creo TOOLKIT applications created for Creo TOOLKIT applications contains information on how to use protk_dll_NU.lib. The sample file is located at <creo_toolkit_loadpoint>/<platform>/obj.
Standard Libraries
Most Creo TOOLKIT users will be able to use the standard Creo TOOLKIT libraries. These libraries are available on all platforms and are used by the majority of Creo TOOLKIT sample applications.
Library Name
Purpose
protoolkit_NU.lib ucore.lib udata.lib
Spawn mode library
pt_asynchronous.lib
Asynchronous mode library
protk_dll_NU.lib ucore.lib udata.lib
DLL mode library
Alternate Libraries
Creo TOOLKIT offers alternate libraries that may be useful for applications compiled with /MD flag and built with msvcrt.lib. These libraries are similar to the standard Creo TOOLKIT libraries in content, but differ in using msvcrt.lib instead of libcmt.lib.
Library Name
Purpose
protkmd_NU.lib
Spawn mode library
ptasyncmd.lib
Asynchronous mode library
protk_dllmd_NU.lib
DLL mode library
The makefiles make_install_md and make_async_md build with these libraries.
Note
Although /MD provides compatibility with multi-threaded components, Creo TOOLKIT calls must be made within a single thread. Creo Parametric does not respond to calls made from multiple threads. Extra threads may be created by applications only to do tasks which do not directly call Creo TOOLKIT functions.