[Linker Error] Unresolved external 'System::__linkproc__ __fastcall WStrClr(void *)' referenced from C:\PROGRAM FILES\BORLAND\CB
错误信息如下:
[Linker Error] Unresolved external 'System::__linkproc__ __fastcall WStrClr(void *)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\RELEASE\VCLE.LIB|wstring
还有其它很多类似的错误信息,我做的是一个DLL,供JAVA中调用的,代码如下:
#include "FingerNative.h"
#include <system.hpp>
#include <jni.h>
extern "C"
JNIEXPORT jboolean JNICALL Java_FingerNative_compareFinger
(JNIEnv* env, jclass cl, jstring registration, jstring verify)
{
jboolean jb = JNI_FALSE;
const char* c_registration = env->GetStringUTFChars(registration, NULL);
const char* c_verify = env->GetStringUTFChars(verify, NULL);
WideString ws_registration = (WideString)c_registration;
WideString ws_verify = (WideString)c_verify;
Variant myobj;
myobj = Variant::CreateObject("FPCom.FPProcess");
bool flag = myobj.OleFunction("Process", ws_registration, ws_verify);
if(flag)
jb = JNI_TRUE;
env->ReleaseStringUTFChars(registration, c_registration);
env->ReleaseStringUTFChars(verify, c_verify);
return jb;
}
在项目属性中勾上Build with runtime packages时,编译就没有问题,一旦去掉这个核选框,编译就出错(Use dianamic RTL已经去勾了,但不是这个的问题)。
哪位大虾知道,请说话,高分相赠!!!
问题点数:100、回复次数:6Top
1 楼kingcaiyao(aking)回复于 2002-09-05 11:57:39 得分 50
在你的dll项目中加上MEMMGR.LIB
Top
2 楼zhangchunlei(淮淮)回复于 2002-09-05 12:54:40 得分 0
如何加啊?在项目属性的DIR中吗?那个已经有上啊?单独加一个LIB如何做啊?Top
3 楼Tony_2002(Builder迷)回复于 2002-09-05 13:12:54 得分 50
在Project Manage里加Top
4 楼zhangchunlei(淮淮)回复于 2002-09-05 13:20:46 得分 0
不是这个原因,
If your DLL uses the dynamic version of the RTL, you do not need to
explicitly add MEMMGR.LIB as this will be done implicitly for you,所以上面的说法是不对的,我说了,是Build with runtime packages去掉时出错,而不是去掉RTL了出错,哪位高手快快指导啊!!!Top
5 楼whitelion(www.ccproj.com)回复于 2002-09-05 13:25:30 得分 0
编译时找不到这个函数Top
6 楼zhangchunlei(淮淮)回复于 2002-09-05 13:39:00 得分 0
天,我已经说了,Build with runtime packages打勾时,编译正常,但不选中时编译没有通过,请求解决方法!谢谢各位大哥!!!请出主意,谢了!Top




