我有以下目录结构.
root
--src
---tests
Run Code Online (Sandbox Code Playgroud)
src包含应用程序的源文件和头文件(C文件).构建此应用程序时,它会生成可执行文件.tests目录包含应用程序的单元测试用例(C++文件,UnitTest++用作测试框架).
在测试项目中,我可以包含src目录中的头文件,并且编译将通过.链接时出现问题.链接器将无法在源目录中找到目标文件.
我怎么解决这个问题?在C&C++项目中,为主应用程序提供一个可执行文件,而另一个用于需要使用相同源文件的测试的常规做法是什么?
任何帮助都会很棒!
我一直为此做的是有三个项目.我有一个构建设置,它构建一个静态库,包含我的大部分代码.然后我会有一个测试项目链接到静态库和一个包含UI代码的项目,通常不进行单元测试.
因为两个项目共享相同的已编译静态库,所以不需要在项目之间重新编译文件.