[gmx-users] help needed for using xdr library

Jussi Lehtola jussi.lehtola at helsinki.fi
Mon Aug 17 19:46:55 CEST 2009


On Mon, 2009-08-17 at 09:41 -0400, Kun Huang wrote:
> Hello everyone:
> 
> Recently I am trying to use the xdr library downloaded from gromacs
> org to read xtc files. However when I link my program with the library
> there is an error. When I ran the make test, all the tests were
> passed. Thus I think that the library should work just I don't know
> how to link the program. I tried to read the makefile in the library
> but it is very 
> complicated and beyond my scope. My program is very simple:
> //source file of cm.cc
> #include"/home/kun/xdr/include/xdrfile/xdrfile_xtc.h"


> g++ cm.o /home/kun/xdr/lib/libxdrfile.a there is a link error:
> cm.o: In function `main':
> cm.cc:(.text+0x2d): undefined reference to `read_xtc_natoms(char*,
> int*)'
> collect2: ld returned 1 exit status
> Could anyone help me? 

This is the result of non-matching name spaces.

You're using C++, and xdrfile is written in C. Instead of
#include <xdrfile/xdrfile_xtc.h>

you need to use

extern C {
#include <xdrfile/xdrfile.h>
}

to get the name spaces correct.
-- 
------------------------------------------------------
Jussi Lehtola, FM, Tohtorikoulutettava
Fysiikan laitos, Helsingin Yliopisto
jussi.lehtola at helsinki.fi, p. 191 50632
------------------------------------------------------
Mr. Jussi Lehtola, M. Sc., Doctoral Student
Department of Physics, University of Helsinki, Finland
jussi.lehtola at helsinki.fi
------------------------------------------------------





More information about the gromacs.org_gmx-users mailing list