0
一個IDL文件exception.idl無法生成共享的DLL庫文件爲TAO IDL
module project{
exception JobCreateException{
string errorMessage;
};
}
份MPC文件的是:
project(idl_exception): taoidldefaults, anytypecode {
idlflags += -GI -Wb,stub_export_macro=EXCEPTION_STUB_Export -Wb,stub_export_include=exception_stub_export.h -Wb,skel_export_macro=EXCEPTION_SKEL_Export
-Wb,skel_export_include = exception_skel_export.h
IDL_Files {
exception.idl
}
custom_only = 1
}
project(idl_exception_skel): naming, iortable, utils, avoids_corba_e_micro, anytypecode {
sharedname = idl_exception_skel
after += idl_exception
Source_Files {
exceptionS.cpp
}
Header_Files{
exceptionS.h
exceptionC.h
exception_skel_export.h
}
dynamicflags += EXCEPTION_SKEL_BUILD_DLL EXCEPTION_STUB_BUILD_DLL
}
Accor ding爲mpc文件,我想通過VC8生成一個骨架DLL文件,並且.lib文件將通過服務器實現進行鏈接。
但是,編譯後,idl_exception_skel.dll文件已成功生成,但沒有.lib文件。
比我添加一個新的結構,如:
struct myobject{
string name;
};
IDL文件裏,並重新生成所有的庫文件顯示出來。
是否有任何解釋什麼樣的IDL文件不能爲骨架? @Johnny Willemsen
skel庫必須鏈接到與IDL文件相關的存根庫。對於存根項目,將EXCEPTION_STUB_BUILD_DLL添加到動態標誌,因爲skel項目只使用EXCEPTION_SKEL_BUILD_DLL。事實上,lib缺少未解決符號的提示,這是由於您未將idl_exception_stub添加到idl_exception_skel的庫中導致的。 –
謝謝@JohnnyWillemsen,我解決了它.. –