Hi,
error C2491: 'axis2_get_instance' : definition of dllimport function
not allowed
error C2491: 'axis2_remove_instance' : definition of dllimport
function not allowed
These errors are cuased by not declaring the AXIS2_DECLARE_EXPORT as a
preprocessor derective.
If this preprocessor derective is not defined AXIS2_EXTERN beomes a
__declspec(dllimport) . That is what causing the error.
If the AXIS2_DECLARE_EXPORT is defined AXIS2_EXTERN becomes
__declspec(dllexport). In a service we want to export these two
functions. So this is what we require. All this mappings are in the
axis2c/utils/include/axis2_utils_defines.h.
The best way to add this preprocessor derective is to declare it in
the VC project properties. (project properties->configuration
properties->c/c++ -> preprocessor -> pre processor definitions). The
other services also has this preprocessor derective in the project
properties.
Supun.
On 3/6/07, Milinda Pathirage <[EMAIL PROTECTED]> wrote:
hi,
Please try to compile the source after replacing
AXIS2_EXTERN int AXIS2_CALL
axis2_get_instance(struct axis2_svc_skeleton **inst,
const axis2_env_t *env)
{
...
}
AXIS2_EXTERN int AXIS2_CALL
axis2_remove_instance(axis2_svc_skeleton_t *inst,
const axis2_env_t *env)
{
...
}
to
AXIS2_EXTERN int
axis2_get_instance(axis2_svc
_skeleton_t **inst,
const axis2_env_t *env) {
...
}
AXIS2_EXTERN int
axis2_remove_instance(axis2_svc_skeleton_t *inst,
const axis2_env_t *env) {
...
}
Also it's better if you can use the current Axis2/C trunk.
Thnaks
Milinda
On 3/6/07, Zoltán Altfatter <[EMAIL PROTECTED]> wrote:
>
> Hi Milinda,
>
> Yes, you're right about that functions, there is something wrong with
them.
>
> I found out something. In Microsoft Visual Studio I build the project like
Win32 application, and building this way the sample echo service from
Axis2/C and dll created is ok, meaning that I can connect to that with a
Java client using Axis2/Java.
>
> I tried also this with my generated SayHelloService service.
> But unfortunately has compile errors which I don't understand:
>
> error C2491: 'axis2_get_instance' : definition of dllimport function not
allowed
> error C2491: 'axis2_remove_instance' : definition of dllimport function
not allowed
>
> The generated axis2_get_instance and axis2_remove_instance functions look
like the following:
>
> AXIS2_EXTERN int AXIS2_CALL
> axis2_get_instance(struct axis2_svc_skeleton **inst,
> const axis2_env_t *env)
> {
> ...
> }
>
> AXIS2_EXTERN int AXIS2_CALL
> axis2_remove_instance(axis2_svc_skeleton_t *inst,
> const axis2_env_t *env)
> {
> ...
> }
>
> I don't understand the AXIS2_EXTERN and AXIS2_CALL what are those...
>
> The axis2_get_instance and axis2_remove_instance functions from sample
echo service from AXIS2/C look different:
>
> AXIS2_EXPORT int
> axis2_get_instance(axis2_svc_skeleton_t **inst,
> const axis2_env_t *env) {
> ...
> }
>
>
> AXIS2_EXPORT int
> axis2_remove_instance(axis2_svc_skeleton_t *inst,
> const axis2_env_t *env) {
> ...
> }
>
> I've attached the generated files to this mail.
>
> Could you check them?
> Thank you.
>
> Zoli
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
[EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
[EMAIL PROTECTED]
WSO2, Inc: http://www.wso2.com "Oxygenating the Web Service Platform"
http://www.milindalakmal.wordpress.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]