我在一个项目中定义了许多类,想生成dll和lib被第三方调用。但是我不想提供dll调用,仅想提供lib和.h调用。
    问题是,当我没有将所有的类定义为dllexport时,项目仅生成dll文件,并不生成相应的lib库。如果我想同时生成lib库文件,该怎么作??

解决方案 »

  1.   

    什么?你不提供dll,怎么掉呀,lib和.h只是dll文件的定义和申明而已,主要功能还是在dll中实现的,你可以不提供lib和.h,但是一定要提供dll呀。
    另外应该编译的时候会同是生成dll和.lib的,怎么会没有呢?
      

  2.   

    大哥,你的想法,也可以实现,但利用.dll的方式没办法,这是编译时链接和运行时链接的区别。
    可以创建一个静态的library工程,而不是创建dll工程,这样,生成的.lib里才包括代码,能够实现编译时把代码嵌入应用程序的目的,而不是象.dll那样只在运行时才把代码加载到应用程序的内存空间(.dll附带生成的那个.lib只有很小的几K,仅包含一些输出函数的位置信息和序号信息)
      

  3.   

    创建一个Win32 Static Library就是光生成Lib文件
      

  4.   

    有一个问题:由于在我要生成lib的项目中引用其他的dll文件,但是在Win32 Static Library项目中似乎加不进去dll相关的lib。那么最终生成的lib同我要在项目中引用的dll有什么关系呢?
        再比如,别人调用我现在生成的lib库文件时,我lib库文件引用的dll又该如何使用??
      

  5.   

    dll文件要放在同一目录下或系统目录下
      

  6.   

    在Win32 Static Library项目中加不进去dll相关的lib,那么Static Library项目编译时如何识别引用dll?是否可以不要dll直接编译???
      

  7.   

    创建一个Win32 Static Library就是光生成Lib文件
    没有dll,
    这种是从16位时代继承过来的,其实参加编译后,和直接把函数贴到程序中效果是相同的不知道各位在说什么??lib中调用dll么?那不是和程序中调用一样么