[ http://issues.apache.org/jira/browse/AXISCPP-328?page=comments#action_12373369 ]
Fred Preston commented on AXISCPP-328: -------------------------------------- See JIRA AXISCPP-905 for more related information... > Axis methods exported from user dlls > ------------------------------------ > > Key: AXISCPP-328 > URL: http://issues.apache.org/jira/browse/AXISCPP-328 > Project: Axis-C++ > Type: Bug > Components: Basic Architecture > Versions: 1.4 Final > Environment: Windows > Reporter: Mark Whitlock > Priority: Minor > > I am raising this JIRA based on a discussion on the mailing list (see below). > This is a bug because the external header files that Axis C++ ships should > not contain __declspec(dllexport) since that makes Axis methods exported from > application dlls. In other words if a user creates an application that uses > (and dynamically links to) Axis C++ and builds that application into a dll, > Axis C++ methods will be exported from the application's dll, which may not > be what the user wanted. The solution to this is to remove > __declspec(dllexport) from the external header files and tell the > compiler/linker to export Axis methods from the AxisClient.dll by some other > internal mechanism. > Discussion from the mailing list follows.... > I changed > #define STORAGE_CLASS_INFO __declspec(dllexport) in GDefine.hpp to > #define STORAGE_CLASS_INFO > now only my functions are exported as expected. Is this an acceptable > solution though? > Vince. > -----Original Message----- > From: Mark Whitlock [mailto:[EMAIL PROTECTED] > Sent: Tuesday, December 14, 2004 12:47 PM > To: [email protected] > Subject: Fw: dll exports > Hi, > Methods are exported from the AxisClient.dll by setting > __declspec(dllexport) on the class definition (look in Call.hpp and > GDefine.hpp). I guess you are creating your own dll which dynamically > links > to the AxisClient.dll. I'm surprised that the methods which are exported > from the AxisClient.dll are also exported from your dll. I don't know > the > answer but you could try > - making sure you are dynamically linking to the AxisClient.dll not > statically linking to it > - see if there is another __declspec override that will "switch off" > exporting a method > - remove the __declspec(dllexport) from the axis public header files > that > you include > If this last suggestion works then it looks like a bug in Axis. > Mark > Mark Whitlock > IBM > ----- Forwarded by Mark Whitlock/UK/IBM on 14/12/2004 17:40 ----- > > "Jairam, > Roopnaraine" > <Roopnaraine.Jair > To > [EMAIL PROTECTED]> "Apache AXIS C User List" > <[email protected]> > 14/12/2004 15:18 > cc > > > Subject > Please respond to RE: dll exports > "Apache AXIS C > User List" > > > > > Can anyone provide some insights...? > From: Jairam, Roopnaraine > Sent: Thursday, December 09, 2004 10:32 AM > To: [email protected] > Subject: dll exports > Hi: > I'm trying to build a dll which calls my axis java webservice everything > has built ok and I'm able to call the webservice, the only thing is that > when I look at the dll it has other functions exported besides the one's > that I made. My question is how can I make the other functions not > exported. > > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z > [EMAIL PROTECTED]@@[EMAIL PROTECTED] > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z > [EMAIL PROTECTED]@@[EMAIL PROTECTED] > ??0TestSystem@@[EMAIL PROTECTED]@@@Z > ??0TestSystem@@[EMAIL PROTECTED] > ??0TestSystemService_AxisClientException@@[EMAIL PROTECTED]@Z > ??0TestSystemService_AxisClientException@@[EMAIL PROTECTED]@axiscpp@@@Z > ??0TestSystemService_AxisClientException@@[EMAIL PROTECTED]@@@Z > ??0TestSystemService_AxisClientException@@[EMAIL PROTECTED]@@[EMAIL > PROTECTED] > > ??0TestSystemService_AxisClientException@@[EMAIL PROTECTED]@DU?$char_t > ra > [EMAIL PROTECTED]@std@@[EMAIL PROTECTED]@2@@std@@@Z > ??0TestSystemService_AxisClientException@@[EMAIL PROTECTED] > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z > [EMAIL PROTECTED]@@[EMAIL PROTECTED] > ??1TestSystemService_AxisClientException@@[EMAIL PROTECTED] > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z > [EMAIL PROTECTED]@@6B@ > [EMAIL PROTECTED]@@6B@ > [EMAIL PROTECTED]@@6B@ > [EMAIL PROTECTED]@@6B@ > [EMAIL PROTECTED]@@UAE?BHXZ > > [EMAIL PROTECTED]@@[EMAIL PROTECTED] > p@ > @XZ > > [EMAIL PROTECTED]@@QAE?BV?$basic_string@ > DU > [EMAIL PROTECTED]@std@@[EMAIL PROTECTED]@2@@std@@[EMAIL PROTECTED] > > [EMAIL PROTECTED]@@QAE?BV?$basic_string@ > DU > [EMAIL PROTECTED]@std@@[EMAIL PROTECTED]@2@@std@@PAVexception@@@Z > [EMAIL PROTECTED]@axiscpp@@[EMAIL PROTECTED]@XZ > [EMAIL PROTECTED]@axiscpp@@[EMAIL PROTECTED]@XZ > > [EMAIL PROTECTED]@@QAEPAVRegistrationResults@@PAVClientTableRecor > d@ > @PAVKeyTableRecord@@@Z > > [EMAIL PROTECTED]@@QAEPAVVerificationResults@@PADHUKeyTableRecord_A > rr > ayTag@@@Z > [EMAIL PROTECTED]@@UAEPBDXZ > > Thanks > Vince. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
