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: 

CVI Project Structure. Proper way to build a project that depends on another project in the same workspace.

I am working on some inherited code that has several instrument driver projects within one CVI workspace. Each project is in a separate folder structure and each project gets built separately from one another. The final build output (all the .dll's) get built into a final distribution kit.


Question 1

Is this a logical way to organize multiple CVI projects within a single CVI workspace?


Main Topic

Is that I have a case where one project in the workspace depends on the build of another project in the same workspace. So for instance


Project A depends on Project B
Project B needs to get compiled before Project A
Project A needs to be able to find Project B's .h file and .lib output


Question 2

What is the proper way to set up the build settings for each project? Currently, I have Project B build settings configured as follows


Target Type = Dynamic Link Library
Target Settings, Exports = Symbols Marked for Export


Should I use a Shared Library instead?


The Build Steps (e.g. custom build actions, pre-build actions, and post-build actions) are empty. Should I have something in there to move the Project B output file (.lib) into Project A's folder for compilation?


Question 3

Where should Project B's import library (.lib) go after build and how should I set up Project A to find it and compile? I have the Project Dependencies checked in Project A, is that all I need? What is the proper way to add the import library to Project A?


Sorry for all the questions, my goal is to set up a structure that is as straightforward and least confusing as possible for the next person. The CVI code I received was set up very poorly... e.g. duplicate files were everywhere, DLL's were compiled all over the place, incorrect build settings, and hardly any of the projects actually compiled.

0 Kudos
Message 1 of 1
(819 Views)