Cottonwood wrote:
> I want to call a C module from a Fortran program. Whatever I tried -
> the linker could not find the C module. I know about the leading
> underscore and switched even that off. I abstracted everything
> possible. When I replace the C module by a Fortran subroutine linking
> works. Here the Fortran subroutine that replaced the C module for
> testing:

>       subroutine qqcprint
>       return
>       end

> But when I use this C module in the same library (replacing the Fortran
> testmodule) linking didn't work any longer.

> void qqcprint()
> {
> return;
> }

> I also tried it with this one:

> extern void qqcprint()
> {
> return;
> }

> The result was always the same. With the Fortran subroutine linking
> works, with one of the C modules I get the message

> qqmodlib.a(qqprint.o):qqprint.for:(.text+0x42): undefined reference to
> `qqcprint'

> What am I doing wrong?


[EMAIL PROTECTED] wrote:
> I just noticed that you crossposted to gnu.g++,help.
> Is there any chance you compiled your C code with
> g++?  If so, you might need to use extern "C".

> Bob Corbett

Thank you so much. As a C beginner I wasn't able to see that. Now it
works with my changed C procedure:

extern "C" void qqcprint()
{
return;
}

_______________________________________________
help-gplusplus mailing list
help-gplusplus@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gplusplus

Reply via email to