NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

duplicate main message

I'm trying to create a distribution kit with LabWindows/CVI V7.1. In my project file, I have TestStand's TestExec.c (from the /user directory) since I want to customize it a bit. The TestStand literature says I must include tscvirun_supp.c in my CVI project. When I try to build release executable, I get a link error that there exists a duplicate definition of main. I see it too, but I don't know how to resolve the problem.
0 Kudos
Message 1 of 7
(3,343 Views)
Hi,

You are getting this error, because you have added both the TestExec.c and the tscvirun_supp.c as part of the same project. TestExec.c is your operator interface and the tscvirun_supp.c is the file required by the teststand engine to execute CVI steps within your sequence files; in a different process. So the two files should not be part of the same project.

So have two different projects and include them into your teststand workspace file.

I hope this helps. Please let me know if you have any further questions.

Sijink
National Instruments
0 Kudos
Message 2 of 7
(3,324 Views)
When you say 'have two different projects', do you mean CVI projects, or TestStand projects? So, the workspace would list my sequence file and my two CVI projects?
0 Kudos
Message 3 of 7
(3,319 Views)
Hi,

You'll have two CVI project under the same teststand project in your teststand workspace file.

I hope this helps

SijinK
Natioanl Instruments
0 Kudos
Message 4 of 7
(3,309 Views)
Hi,

I just wanted to clarify my previous post. Deployment Packages has completely changed in TestStand when compared to the CVI TestExec Toolkit used previously before we had teststand.

In TestStand your deployment package contains a workspace file that contains a teststand project file. We add all our sequences and code modules into this teststand project file. You may or may not add your Operator Interface to this teststand project. If you're creating a deployment package for distribution then you want to add the executable version of the Operator Interface. You almost never want to include the source file for the operator interface because once you install the distribution package you have to compile the OI before you run your sequences. Besides the whole idea of creating a distribution packages is to give only the access to run the app without modifying it.

I hope this helps.

SijinK
National Instruments.
0 Kudos
Message 5 of 7
(3,291 Views)
I have another posting out there entitled "TestStand Deployment of Source Code" that asks a similar question, but in your last reply, you addressed one of my concerns. However, I'm still not clear on the solution. In my TS workspace, I have two projects. In the OI project, I reference the TestExec.exe. However, in the app project, I reference my app CVI .prj, .lib (static library), and .seq. Do I need to reference the .c files, or is the .lib suffice. Like you said in your last reply, "the whole idea of creating a distribution packages is to give only the access to run the app without modifying it." How can I get around not deploying my source code, and still allow the testexec to find all references it needs.
0 Kudos
Message 6 of 7
(3,278 Views)
Hi,

I have answered your other post. This should help out with your questions. The other post is located at

http://forums.ni.com/ni/board/message?board.id=330&message.id=6468

SijinK
National Instruments
0 Kudos
Message 7 of 7
(3,265 Views)