注册 登录
编程论坛 C++教室

关于静态库的制作和使用问题

w470913537k 发布于 2013-05-03 08:40, 1825 次点击
我用的VS2012.静态库做成功以后不会使用,有谁可以好心教教我呢
7 回复
#2
天使梦魔2013-05-03 09:37
和动态库添加静态库接口一样

项目----属性----活动(选择你当前编译的版本)----配置属性----连接器----命令行
不能输入的地方你可以看到有工程配置好的静态库 *.lib 等
把你要加入的静态库以路径形式输入在下面


然后可以试着使用静态库抛出的变量,成功就没什么问题了。
#3
天使梦魔2013-05-03 09:59
只有本站会员才能查看附件,请 登录


工程是2008的,但2012可以导入。
配置和我上面说的一样,路径自己改一下,我的和你的不一样。
需要的lib在生成的EXE文件里
工程代码声明了一个test函数,函数过程在lib里


动态库也依照这种方法
#4
w470913537k2013-05-03 11:29
回复 3楼 天使梦魔
可以加下QQ吗。。。我对VS的使用不是很清楚,可以利用空闲时间指导一下吗。我现在在按你提供的方法试试
#5
w470913537k2013-05-03 11:37
回复 3楼 天使梦魔
郁闷。。我资质太差了,还是不太会。。求大神解救。
#6
天使梦魔2013-05-03 16:35
都说了改成自己的路径。
联系我的邮箱吧,dreamdev@  QQ在线我也不会处理这些问题,而且也不太可能在线。


静态库唯一的好处是不用像动态库一样做接口抛出,直接声明一个变量或者函数就可以使用。
但不同的编译器由于规则不一样所以lib不通用。
vs2012我没有,只有2008我用2008来做列子。2012应该是一模一样的。

首先打开VS新建工程,为了减少复杂程度选择“win32”里面的“win32项目”,输入一下工程名称和路径
点击“下一步”选择“静态库”然后点击“完成”
targetver.h我把它作为接口抛出的地方,我不知道你那是不是这里
在这个头文件我定义一个函数   void test(void);
接着打开 stdafx.cpp 在里面写下这个函数的过程
#include <iostream>//不要忘了头文件
void test(void)
{
    std::cout<<"学习C++就是为了爆菊花"<<std::endl;
}
然后编译它.编译好后出现提示框用于输入EXE路径来调试,关掉就可以了


继续新建工程,项目是一样的选择“win32”里面的“win32项目”,但这次换成"控制台应用程序"
建立好工程后按ALT+F7
"配置属性"可以打开,下面选择"连接器"同样可以打开,然后选择"命令行"
"附加选项"里输入lib的完整路径,比如静态库工程名叫testlib,工程放在D盘
你就可以输入 D:\testlib\Release\testlib.lib     看看你编译出来的lib实际路径,这里只是比喻
然后在main()的上面声明一下
void test(void);//没错,虽然在静态库里也包含了,但要使用还是要声明
接着在main()函数的里面写上
test();
就完成了
#7
天使梦魔2013-05-03 16:37
这样你都不会的话,去弹JJ弹到死!
#8
w470913537k2013-05-03 18:11
回复 7楼 天使梦魔
呃。我不用弹JJ弹到死了。。成功了
1