From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

How to build in LabWindowsCVI 8.1 with Clearcase and create derived objects?

We use ClearCase to control our software.  Have been using CVI 5.5 and now 8.1 as our development environment on WindowsXP.  I would like to streamline our process and perform the project builds in the ClearCase environment and have the resulting files (objects, libraries, etc) saved in ClearCase as derived objects.  Started doing something similar using a batch file and clearmake and the CVI utility compile.exe but looking for a cleaner implementation.   Thanks, Pete
0 Kudos
Message 1 of 7
(3,292 Views)
Pete,

Have you looked at any of the documents on our website for using source code control in CVI? Here are a few links that may help you out.

http://digital.ni.com/public.nsf/allkb/CBF9A9591B8023D686256896005D9A20
http://digital.ni.com/public.nsf/allkb/862567530005F09C8625646E007A258F

Brandon Vasquez | Software Engineer | Integration Services | National Instruments
0 Kudos
Message 2 of 7
(3,268 Views)
Brandon,
 
Reviewed the sites you suggested.  They don't help with the problem at hand.  No problem controlling the source code.  Unfortunately, building using CVI with ClearCase as the SCC does not product derived objects (DOs).  I get private files in the ClearCase directory.  I called complile.exe from Clearmake and that producted DOs but when I tried building the project in entirety, CVI did not use those DOs, but rather created its own, which were again private files. 
 
Is there a CVI linker I can call from Clearmake?  I also looked at the ActiveX interface to CVI.  Didn't see any options there that would help. 
 
Pete
 
0 Kudos
Message 3 of 7
(3,255 Views)
Hi Pete,

The only programmatic access we provide to CVI is through our compiler (compile.exe) and our ActiveX interface. 
For your situation with derived objects and ClearCase, we're looking into what your options may be.

Gavin Fox
Systems Software
National Instruments
0 Kudos
Message 4 of 7
(3,212 Views)
Hi Paul,

I am a little confused as to what you are seeing so if could perhaps clarify a few things for me.

First you mentioned that
"building using CVI with ClearCase as the SCC does not product derived objects (DOs)" but rather private files. However, right after that you say that you called our command-line compiler from Clearmake and that did produce DO's. Additinally, you next mention that when you build an entire project (which from this I assume the first time you just comiled one source file via the command-line compiler?), you get private files and not DOs?

Any clarification would help.

Thanks
Jonathan N.
National Instruments
0 Kudos
Message 5 of 7
(3,201 Views)

Jonathan,

I can see how that was confusing.  Let me clarify.

Using clearmake, if I executed the line: compile.exe myfile.c, I got the derived object: myfile.obj in the current folder.  If I then executed compile.exe myfile.prj, the cvibuild.myfile folder was created.  myfile.niobj was created in that folder, and myfile.exe was created.  The previously created myfile.obj was not used (which I expected but hoped otherwise). 

After that scenerio, I was left with the derived object myfile.obj.  All other output files were private.

I also tried building the project from within the CVi environment and with SCC enabled.  I got private output files.

Pete

0 Kudos
Message 6 of 7
(3,195 Views)
Hi Peter,

Thanks for explaining your situation as its more clear now.

You are correct in the behavior that you are seeing. By default, when you compile a source code file by itself, a resulting object file (.obj) will be created the same directory as the source file. If you compile and entire project, we create unique object files (either a .niobj or .nidobj file extension, depending on whether they are compiled with debugging).  These files are used by LabWindows/CVI to speed up the building of executables, DLLs, and static libraries. The only downside is that these files cannot be added to a LabWindows/CVI project or used in an external compiler.

Now, what you can do is tell LabWindows/CVI to compile those individual source files in the project into individual object files. To do this, open up the LabWindows/CVI project, and then simply right-click on whatever source files you want to turn into a object file and select Enable 'O' OptionYou can also select all the source code files, then right-click on them and select Toggle 'O' Option to set that option for all those files at the same time.

Hope this helps your situation and have a great weekend!

Best Regards,

Message Edited by Jonathan N on 04-06-2007 06:56 PM

Jonathan N.
National Instruments
Message 7 of 7
(3,187 Views)