让我们说: 一个名为“LIB”的静态库项目 一个名为“LIBAPP”的应用项目 一个名为“APP”的应用项目 一个名为“APPTEST”的应用项目
当我向LIBAPP项目依赖项添加“LIB”时,Visual Studio会自动将“LIBAPP”链接到LIB。 但是,当我将APP添加到APPTEST项目依赖项时,它不会。
由于我在APPTEST中对APP的类进行单元测试,我必须链接到APP,因此我目前手动链接APP的所有* .obj文件(数百...)
由于我每次在APP中添加或删除* .cpp文件时都必须更改APPTEST的链接目标,这不是一个很好的解决方案。
那么有没有办法强制Visual Studio自动为我执行此操作,就像添加静态库Project Dependency时一样?
答案 0 :(得分:1)
你不能像你发现的那样“链接APP”。
一种解决方案是将所有APP的代码放入其自己的库中,将APP保留为在该库中运行函数的单个源文件。您可以使APPTEST另一个链接到新APP库的单个源文件。
答案 1 :(得分:0)
使应用程序依赖于另一个应用程序对于在您点击编译时同时构建(如果需要)两个应用程序非常有用。如果你在APP中有足够的代码,你觉得你需要为它们编写单元测试,我认为最好将这些代码分解到另一个库中,并将其称为“LIBAPPUTIL”或类似的东西,这取决于LIB和APP必须依赖于LIB和LIBAPPUTIL。
你有高尚的意图。通过将LIBAPP的各个部分放入一个单独的库中,您将获得许多好处: