[ 
https://issues.apache.org/jira/browse/AXIS2C-722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nandika Jayawardana resolved AXIS2C-722.
----------------------------------------

    Resolution: Fixed

I changed the build options in makefile and allowed the user to specify the 
CRUNTIME library in configure.in file. When building axis2c , it will be build 
with /MD option by default. Also when building Axis2 with VC2005 or above, it 
generates the .manifest file which has the runtime library information.

> The subject of C Run-Time depending on compilation option /MT, /MD 
> -------------------------------------------------------------------
>
>                 Key: AXIS2C-722
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-722
>             Project: Axis2-C
>          Issue Type: Improvement
>          Components: build system (Windows)
>    Affects Versions: Current (Nightly)
>         Environment: OS: WindowsXP
> Compiler : MSVC
>            Reporter: Atsushi Monna
>
> I think Axis2/C has a problem about C Run-Time in windows.
> I made a dll calling Axis2/C public function using file stream in axutil.
> When I used this dll, access violation was occured.
> In concretely, 
> I use the axutil_stream_t object created by axutil_stream_create_file(const 
> axutil_env_t *env, FILE *fp) in axutil_stream_read(). I caught a access 
> violation.
> Reason is ...
> The file pointer above can not use in this DLL(axutil.dll), because Axis2/C 
> builded with /MT option.
> The relation between MSVC compliation option and C Run-Time Libraries is 
> indicated in this page.
> http://msdn2.microsoft.com/en-us/library/abx4dbyh(VS.80).aspx
> The problem depending on C Run-Time Libraries is indicated in this page.
> http://msdn2.microsoft.com/en-us/library/ms235460(VS.80).aspx
> Every Axis2/C module has static C Run-Time in local. So, boundaries exist 
> among all.
>  
> To be valid the public function has file pointer argument in axutil, use /MD 
> compilation option for common C Run-Time (not exist boundaries) amonng all.
> But this way is not enough. If the C Run-Time version depended Axis2/C 
> modules are defferent with the C Run-Time version depended module that 
> calling Axis2/C modules API, same problem will occur.
> I think, complete solution for this problem is Axis2/C binary release builded 
> with /MD compilation option and specify C Run-Time Library version. 
> I hope above.
> Depending C Run-Time version depend on build environment. For any user using 
> Axis2/C binary release, provide some binary release for every C Run-Time 
> versions. It is better I think.
> If I cann't get Axis2/C binary release like this, I hope the lowest that 
> Axis2/C be clear the policy in a document for this problem.
> ・Axis2/C binary release builded using /MT compilation option.
> ・This modules has some problem depending C Run-Time Libraries.
> ・If you call Axis2/C module's API, you need to re-build Axis2/C using /MD 
> compilation option.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to