![]() |
Telelogic TAU (steve huntington) | ![]() |
Topic Title: Code Import - mspdb60.dll Not Found Topic Summary: Do I need Visual Studio to import code? Created On: 20-Feb-2007 15:37 Status: Read Only |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
Hi,
Whilst trying to import some C++ code I get the error "cl-exe - Unable To Locate Component" and "This application has failed to start because mspdb60.dll was not found. Re-installing the application may fix this problem".
But cl.exe and mspdb60.dll are components from Microsoft Visual Studio. Does this mean that Tau can't import code unless Visual Studio is installed?
Note that I deselected all the Microsoft dialect options (it's not desktop PC code that I am importing anyway).
Thanks
Graham
|
|
![]() |
|
![]() |
|
Graham
The C++ import process runs the preprocessor on the code so it needs access to a preprocessor; on Windows this defaults to cl.exe. NOTE that because the preprocessor is being run you also need to specify any macro definitions (-D options to the compiler); this is done on the <<cppImportSpecification>> stereotype, see below. You can override this by: Run the import wizard but *don't* select 'import now'. In the model view, select the created package 'ImportedDefinitions'->Right-click->Properties In the propery editor Filter, select cppimportSpecification Edit the value in the Preprocessor field to specify the preprocessor. This is documented in the help in UML to Applications->Stereptypes for Code Generation->Stereotypes->cppImportSpecification. Here is the relevant section from the help file: ============================================================= Preprocessor Type: Charstring Default: ""(An empty value is interpreted during import as "cl" on Windows or "cpp" on UNIX.) This text field allows to specify which Preprocessor to use prior to importing the header files. The text field would typically contain the command used to invoke the preprocessor, or a suitable script that "embeds" the actual preprocessor used. Such a command or script can be typed in directly, or be specified by clicking the Browse button and using the Open dialog to locate the file. During C/C++ import the following preprocessors are recognized (by name): cl (Microsoft Visual C/C++ preprocessor) - Windows only cpp32 (Borland C/C++ preprocessor) - Windows only cpp - UNIX only g++/gcc (GNU C/C++ preprocessor) - UNIX (including Cygwin) If the preprocessor you want to use is not among the ones recognized on your platform, you could write a shell script which calls the preprocessor. Be sure to give the script a name different to the names listed above. The C/C++ import will call the script with two parameters: The name of the input header to preprocess. The name of the file where the result of preprocessing should be stored. Example 333 1: Shell script for gcc on Windows This script file calls the gcc preprocessor (from cygwin). The preprocessor is specified by mycpp.bat in the cppImportSpecification for the package ImportedDefinitions. Click on the package ImportedDefinitions, choose "Import" - mycpp.bat is called. The log in the output tab shows: gcc -E -v -I . -x c++ %1 -o %2.i @copy %2.i %2 Example 334 : Shell script for user-defined preprocessor on UNIX An example script for UNIX platforms, mycpp.sh, is shown below. gcc -E -v -I . -x c++ $1 -o $2.i cp $2.i $2 ============================================================= HTH Ian ------------------------- ============= Ian Barnard Principal Consultant Telelogic UK, an IBM company |
|
![]() |
|
![]() |
|
Apologies for the multiple posts above; finger trouble!
/Ian ------------------------- ============= Ian Barnard Principal Consultant Telelogic UK, an IBM company |
|
![]() |
|
![]() |
|
Ian just wanted to make sure you got it right
![]() Thanks Ian for picking this one up. /Greg ------------------------- Greg Gorman Vice President, Product Management Modeling and Test Products Telelogic AB |
|
![]() |
Telelogic TAU
» TAU/Developer
»
Code Import - mspdb60.dll Not Found
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.