编译mq4cpp

http://www.sixtyfourbit.org/mq4cpp.htm 下载到的仅是MQ4CPP的源文件,由于并没有LIB库文件,一般情况下,自己建工程的话,就需要把源文件中所有的.h和.cpp文件加入到项目中来,这样造成了项目看起来非常庞大,而且每次编译都需要费很长的时间。 为了解决这个问题,我们可以利用已经编译好的.obj文件,把它们打包成一个lib文件,这样就可以作为库来链接了。 let's go.

 

1. 利用VC目录下的lib.exe文件打包,首先进行VS命令行环境(必须,不然会弹DLL错误),运行

lib.exe /OUT:mylib.lib *.obj

 

 

---------------------------------------------------------------------------------

下面是我从CSDN中引用过来的,

 

非要用命令行也很简单:  
  1.用VC下的cl.exe   先将mylib.c   生成mylib.obj   中间文件  
        cl.exe   /c   /MLd   mylib.c  
  2.用lib.exe   生成mylib.lib文件就是你要的文件了.  
        lib.exe   /OUT:my.lib   mylib.obj  
  注:如果你要生成exe文件,才使用link.exe对obj文件进行编译链接,否则根本不用link.exe,不关他的事.呵呵,下面是个小例子,加深理解:  
   
  建一个源文件,就叫mylib.c,我上面是这么叫的,内容如下:  
  /*   mylib.c   */  
  #include   <stdio.h>  
  void   foo()  
  {  
        printf("%s","I   am   from   mylib!/n");  
  }  
   
  用   cl   /c   /MLd   mylib.c  
  命令编译,注意/MLd选项是指定libcd.lib为默认标准库。  
   
  lib.exe是VC自带的用于将目标文件打包成程序库的命令,所以我们可以用  
  lib   /OUT:my.lib   mylib.obj  
   
  将mylib.obj打包成库,输出的库文件名是my.lib。  
   
  上例不能单独运行(不能用link链接成exe文件),如果要运行还要有个主函数.这里仅仅是为了举例子.就一切从略了.希望完全的解答了你的问题.  
  Top

13 楼 TianChong(*︿_︿* ○Ооo○泡泡oо㊣VC高手群:2997669) 回复于 2006-01-20 01:30:08 得分 0

补充一点:  
   
        VC带的编译器名字叫cl.exe,它有这么几个与标准程序库有关的选项:   /ML、/MLd、/MT、/MTd、/MD、/MDd。这些选项告诉编译器应用程序想使用什么版本的C标准程序库。/ML(缺省选项)对应单线程静态版的标准程序库(libc.lib);/MT对应多线程静态版标准库(libcmt.lib),此时编译器会自动定义_MT宏;/MD对应多线程DLL版(导入库msvcrt.lib,DLL是msvcrt.dll),编译器自动定义_MT和_DLL两个宏。后面加d的选项都会让编译器自动多定义一个_DEBUG宏,表示要使用对应标准库的调试版,因此/MLd对应调试版单线程静态标准库(libcd.lib),/MTd对应调试版多线程静态标准库(libcmtd.lib),/MDd对应调试版多线程DLL标准库(导入库msvcrtd.lib,DLL是msvcrtd.dll)。  
   
  /ML   是缺省选项,所以你也可以不加,上例中,如果:  
  cl.exe   /c   /MLd   mylib.c   不成功,你还可以试试   cl.exe   /c   mylib.c,多试一下吧,一定没有问题的.  
   
  这类文件多的话建议写一个bat文件(加参数的)进行处理,如果有一二百个,就写个程序一次读入所有*.c文件,再自动一个一个的调用这个bat文件,也很快就处理完了.   good   luck...  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值