十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
分类: 电脑/网络 程序设计 其他编程语言
成都创新互联公司公司2013年成立,先为宁夏等服务建站,宁夏等地企业,进行企业商务咨询服务。为宁夏企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
问题描述:
我写了个函数,想弄成库,怎么弄啊?
我只是把它定义到头文件中了,可是不行啊!
编译的时候编译器说是打不开这个头文件!
怎么办啊手斗?
解析:
可以,只要实现文件也加到工程里面就可以了.
注意,工程要包含你的头文件和实现文件,这样你自己的函数库就可以毕弯磨在任何需要的工程中闹历使用了.
可以,只要的程序调用的时候能找到函数的定义就可以了.所谓定义就是函数的具体实现程序.
简单的一个例子,但是基本的程序编译的哗陵思想都在里面了,具体的需要你自己体会和查资料
跟着下面的步骤走
------------------------
第一步:我的电脑-属性-高级-环境变量
添加3个变量
1.名字:path 值:vc的安装目录里面包含cl.exe的bin目录路径+";"+vc目录下包含mspdb80.dll的目录的路径
比如我的是D:\Program Files\Microsoft Visual Studio 8\VC\bin;D:\Program Files\Microsoft Visual Studio 8\Common7\IDE;
2.名字:include 值:vc安装目录下的include目录,主要是为了找到头文件,我的是D:\Program Files\Microsoft Visual Studio 8\VC\include;D:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include;
3.名字:lib 值:vc目录下包含库文件的目录路径
我的是D:\Program Files\Microsoft Visual Studio 8\VC\lib;D:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib;
第二步:需要下面两个文件
//-------------libdemo.c
#include 梁散stdio.h
void lib_func()
{
printf("this routine in lib\n");
}
//------------main.c
void lib_func();
int main(int argc, char *argv[])
{
lib_func();
}
第三步:命令
cl /c libdemo.c '编译libdemo.c 生成libdemo.obj
lib libdemo.obj '生成libdemo.lib 库文件
cl /c main.c '编译main.c
link main.obj libdemo.lib '生成main.exe
---------------------------------------------------
呵呵 加点东西,参乱渣戚看4楼的建议,在做个dll,COM组件就不做了,有点复杂了
1。把libdemo.c 稍微改下
//-------------libdemo.c
#include stdio.h
__declspec (dllexport) void lib_func()
{
printf("this routine in lib\n");
}
2。命令
cl /c libdemo.c main.c
link libdemo.obj /dll '生成libdemo.lib
link main.obj libdemo.lib
有一些代码,我们编程时经常用到,或者我们对某些部分很熟悉,让简余漏并写出了一些可用的接口。这时,我们会考虑把这些c文件做成一个lib库,以方便自己使用,或这给别人调用。
我这里介绍下在vc++6.0下如何来制作静态库:
第一步:创建一个工程,选择Win32Static Library,输入工程名。这时就创建好了。
第二步:工程创建好了,再点击新建,这时选择文件,选择c++ source file选项,创建一个.c
文件。
在这个文件中,你可以写入你要做成库的c函数。当然,可以继续创建其他c文件,然后将要供外部使用的接口单独放到头文件中,一般而言,一个c文件对应一个头文件。
第三步:完成以上步骤后,我们就可以生成库了。事实上,我们点击编译即可,这时就可以生成.lib文件了。
一般情况下,是坦毁裤可以正常生成lib文件的。有头文件和lib文件就可以给别人用了。然后我们可以写一个测试函数来试试可不可以使用。
要调用生成的lib中的函数,就要引入头函数。这时,你把lib和头文件放入当前工程中,但build的时候却显示了连接错误。那是因为你没有把lib文件包含进来。加入下面这句话即可了:
#pragma comment(lib, "mylib.lib ")
Ok,自己的lib库就这样做成了。以后可以随便调用了。
一、lib库的创建;
建议使用VC来制作比较方便,以VC2005为例:
新建》项目》Win32控制台应用程序》静态库》完成。
然后在里面编写一个函数,编译一下库就作好了。
把对外使用的函数新建一个头文件声明;
二、lib库顷粗的使用
新建一个程此乎并序,然后引用上面的头文件,就可以使用库里的函数。然后森迹把lib库在工程配置里面加入:属性》链接器》输入》附加依赖项》填入你的lib库,可以加路径。然后编译应该就可以了。
祝 你 好 运!