![]() |
Telelogic TAU (steve huntington) | ![]() |
Topic Title: Can Tau import cpp with gcc? Topic Summary: Import cpp header files in Tau G2 with gcc installed Created On: 3-Mar-2005 21:17 Status: Read Only |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() Answer: Hi Tom, I too have the same setup as your's with TAU G2 2.4 version. I am able to import the below enum successfully. typedef enum x { Red, Green }; I would suggest to try again with a new import package. If you still face the issue. I would like to receive your model to investigate. Best Regards, Suneel. | |
![]() |
|
I have installed gcc for Tau G2 model verification (which works). When I attempt to import an enum typedef in a cpp header file (.h), I get the following preprocessor errors: |
|
![]() |
|
![]() |
|
Hi Tom,
I too have the same setup as your's with TAU G2 2.4 version. I am able to import the below enum successfully. typedef enum x { Red, Green }; I would suggest to try again with a new import package. If you still face the issue. I would like to receive your model to investigate. Best Regards, Suneel. |
|
![]() |
|
![]() |
|
Hi Suneel, |
|
![]() |
|
![]() |
|
Hi Tom,
Can you give me your email id I can send you my model. Just for your information: ----------------------------- In TAU G2 2.3 for importing a header file I used a bat file for "gcc" as below: @set PATH=C:\cygwin\bin;%PATH% cpp -xc++ -Wall %4 %3 %1 %2.i @copy %2.i %2 in the "Preprocessor" option. However, this is not need in TAU G2 2.4 release. Best Regards, Suneel... |
|
![]() |
|
![]() |
|
Hi Suneel,
I am trying to do the same, but I have one problem. I am working of a windows environment, and I tried to access the h files via a samba share (and use cygwin + gcc). It cannot resolve some h files, because of the fact that links are not vissible over samba share. Is there a way to still generate output, although it gets these errors?
Best regards,
Miriam
|
|
![]() |
|
![]() |
|
Yesterday I had the same issue and was able to resolve it: |
|
![]() |
|
![]() |
|
Hello:
Just a question.
Supose that I have a C++ application which I develop it in Tru64 and Linux environments.
I've the source code. I pass it to windows in order to do reverse engineering with TAU windows client (more friendly).
But I have TI00031 errors due to no header references.
My code has a lot of dependences. For example, some of them to Qt libraries.
So, it implies to have added to the import project all the .h header files of Qt...
And then? The .h files of Qt will imply new references that Qt could do with other libraries?
So I have only this solution?
Install TAU Linux client and do reverse engineering in the same environment for development? So I have to add all the header files manually...
Or...
There is a way to limit the depth of the reverse engineering analysis for the preprocessor.
I mean, I only want the model of my classes. Never mind of how Qt has organized it's own classes.
Can TAU abstract this types, definitions and classes and make the model without having to define (manually and one by one) all the third party artifacts that I don't need to see more than a reference?
Best regards.
|
|
![]() |
|
![]() |
|
Another question:
What about TAU Linux client? Is for 2.4 Kernels. Are there any enhancements for more modern 2.6 kernels?
Best regards.
|
|
![]() |
|
![]() |
|
quote: Aitor, The next release of TAU/Archictect and TAU/Developer (v2.7) will be supported for RedHat Enterprise 4 (2.6 kernel). it will also be supported on Solaris 10. The release is scheduled for April/May 2006. Greg ------------------------- Greg Gorman Vice President, Product Management Modeling and Test Products Telelogic AB |
|
![]() |
|
![]() |
|
quote: Aitor, One way to do it is to mark the libraries as <<informal>>. That way they should not be checked any more. Greg ------------------------- Greg Gorman Vice President, Product Management Modeling and Test Products Telelogic AB |
|
![]() |
|
![]() |
|
Thanx for both replies
![]() |
|
![]() |
|
![]() |
|
Greg,
thought yo were talking about using a special case of #include directive that was using twice << and >> instead of once. This misleading was due I don't have an extense experience in C/C++ preprocessor.
I have noticed that I was wrong.
Are you trying to talk to me about <
|
|
![]() |
|
![]() |
|
mmm...
I've found that I can check the stereotype in the Import package.
I've checked this one: TTDPredefinedStereotypes::informal.
Anyways, the problem is still there. It's looking for the included files anyway.
Best regards.
|
|
![]() |
|
![]() |
|
Aitor, Let me check with support. I think you have to have them available because the importer is trying to make the model complete. You at least have to have the -I paths correct so it can parse them.
We are doing more work in v2.7 to make it easier to import C++ (and it will also support Linux 2.6 kernels). Greg ------------------------- Greg Gorman Vice President, Product Management Modeling and Test Products Telelogic AB |
|
![]() |
|
![]() |
|
Yeah...
... our solution has gone in that direction --> point with -I to all the header references needed.
That works.
But you receive an incredible amount of class and type definitions (for example of third party libraries) which you don't really need for your modelling purposes.
I mean, if I want to do reverse engineering of my C++ code and it uses Qt, STL or any other kind of utility libraries from third party software, I don't want to see them in the model, not at least at the same level as my own code, or at least to view them separatelly.
I don't know, perhaps the solution could be by the differentiation in the import wizard between developers code and reference library paths in order to create a more readable model.
We are working on it. One colleague is trying to "parse" third party classes and definitions with a TAU SDK script (I think).
He has posted a question about it if I remember well.
Many thanks Greg.
Best regards.
|
|
![]() |
|
![]() |
|
I think there is a way to still have the -I include directories but to not process them. My 2.6 version has a checkbox on the Package with the cppImportSpecification stereotype that says "Do not import definitons from included header files" and that should turn off the import of the libraries.
You can also try the Selective Import field to only process those exact files. Hopefully when we ship 2.7 you will have an easier time. Greg ------------------------- Greg Gorman Vice President, Product Management Modeling and Test Products Telelogic AB |
|
![]() |
|
![]() |
|
You can also skip the Wizard, which does some things you may not want, and just have it create the Import package. Then you can set some advanced options first and then import the code by right-clicking on the Package and doing Import C/C++.
------------------------- Greg Gorman Vice President, Product Management Modeling and Test Products Telelogic AB |
|
![]() |
|
![]() |
|
Many thanks Greg!
I'll try both.
Surelly (because of being in a hurry) we haven't seen those options, sorry
![]() |
|
![]() |
|
![]() |
|
Hello All, I am a newbie when it comes to using TAU's Reverse Engineering capability. Here is my problem: |
|
![]() |
|
![]() |
|
Hi Ronak,
It is trying to run the C++ pre-processor on the files. With VS .NET I have to run a small bat file first to make sure the environment and paths are set properly. I created a file called "StartTAU2.7.bat" and put these lines in it: call "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat" "c:\program files\telelogic\tau_2.7\bin\vcs.exe" and then put a shortcut to it on my desktop and start bar. That's how I start TAU now, and it will always have the right environment for VS. See if that helps you. Greg ------------------------- Greg Gorman Vice President, Product Management Modeling and Test Products Telelogic AB |
|
![]() |
Telelogic TAU
» TAU/Developer
»
Can Tau import cpp with gcc?
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.