静态链接库的使用问题(pragma comment)
清钟沁桐 2008-04-24 10:55:33
在设计静态链接库的时候是不是必须保证每个产生库的代码相互独立呢?因为在使用
我创建了两个有耦合的静态链接库静态链接库的时候,由于
lib2.cpp 使用了lib1.cpp中的一些函数
结果在使用 lib2.h 和lib1.h的时候
只能使用
#include"lib1.h"
#include"lib2.h"
#pragma comment(lib,"lib2.lib")
而不能是
#include"lib1.h"
#pragma comment(lib,"lib1.lib")
#include"lib2.h"
#pragma comment(lib,"lib2.lib")
否则在错误报告中提示 函数重定义了!
应该怎么解决呢?
刚才仔细尝试了下
发现使用
#include"lib1.h"
#include"lib2.h"
#pragma comment(lib,"lib1.lib")
#pragma comment(lib,"lib2.lib")
仍来出现上面的重定义错误
但是使用
#include"lib1.h"
#include"lib2.h"
#pragma comment(lib,"lib2.lib")
#pragma comment(lib,"lib1.lib")
就正确了
也就是说
#include"lib1.h"
#include"lib2.h"
#pragma comment(lib,"lib2.lib")
#pragma comment(lib,"lib1.lib")和
#include"lib1.h"
#include"lib2.h"
#pragma comment(lib,"lib2.lib")
效果是一样的?不知道这个又怎么解释