测试场景,Test,lib1,lib2,dll1,dll2,分为下面四种情况:
1、Test->lib1->lib2
lib1编译自己的代码,对lib2的部分,只需要lib2的头文件,对lib2的代码实现,使用占位符关联。
生成Test连接的时候,把lib1的代码实现包含进来,再递归,把lib1中关联lib2的代码实现也包含进来。
运行Test的时候,不再需要lib1和lib2。
2、Test->lib1->dll2
lib1编译自己的代码,对dll2的部分,只需要dll2的头文件,对dll2的代码实现,使用占位符关联。
生成Test连接的时候,把lib1的代码实现包含进来,但是,dll2中的代码不包含进来。
运行Test的时候,不需要lib1,但是需要dll2【不需要dll的lib文件】
3、Test->dll1->lib2
dll1编译自己的代码,对lib2的部分,需要lib2的头文件和实现,即lib2,把lib2的代码实现包含到dll1中
生成Test连接的时候,dll1中的代码不包含进来。
运行Test的时候,不需要dll1,但是需要lib2
4、Test->dll1->dll2
dll1编译自己的代码,对dll2的部分,需要dll2的头文件和lib文件,对dll2的代码实现,使用占位符关联。
生成Test连接的时候,Test需要dll1的lib,dll1需要dll2的lib,但是代码实现都不会包含在Test中。
运行Test的时候,需要dll1和dll2【不需要他们的lib】
时间: 2024-11-02 07:32:32