郁闷,郁闷。
    我写的DLL为什么无法release呢。Debug正常,release是说我的DLL中有不可识别的外部符号。而这些所谓的外部符号都是我调用的别的DLL,Why这是为什么。
    Help me!!!

解决方案 »

  1.   

    必须包含你引用过的那个DLL中定义的函数原型,并连接到它输出的LIB文件上.
      

  2.   

    不太明白,函数原型指的是什么,是指用LordLibrary()函数调出的DLL文件么,我用的是静态调用,不是动态,这样不行么。
      

  3.   

    帮帮忙,静态调用不能编译成release版的么
      

  4.   

    dll中调用非系统的dll?
    好像只能用动态调用了~
      

  5.   

    我试了一下~静态调用也能行得通~而且也可以编译成release版本~我想可能是你的dll有问题~仔细检查一下~
      

  6.   

    你其它的DLL是发行版本的吗??
      

  7.   

    发行版本指的是什么呀,我调的DLL是有厂家提供的,我想应该是你所说的发行版吧。
        to rivershan  你那静态调用也能行的通么,有没有什么要设置的东西呀,我这里静态调用别人的DLL,编写自己的DLL,可就是无法将自己的DLL编译成release版本,真不知道这是为什么。
      

  8.   

    如果你的debug能够编译通过而release不能通过,那么就是工程中设置的问题。
    检查一下你的debug版和release版本中,有关连接其他别的库文件的设置。是不是在设置中没有设定,还是别人把lib库信息放到了文件中,但文件中通过#ifdef DEBUG给略过了。
      

  9.   

    在VC中有什么设置改release版呀
      

  10.   

    最简单的办法是,看一下出错的符号名称,记下来,再用vs ->tools里面的dependencies查看一下是不是dll里面有这个名称。
    很可能是人家的头文件在Debug版与Release版不同,比如用了宏指令声明的。也可能是你的程序写得有问题,导致debug和release不等价。我见过有人不小心把自己的代码写到
    #ifdef _DEBUG和#enddif//_DEBUG之间的情况