ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Manifest architecture / os flags for linking different lib versions

asked 2011-10-11 20:21:31 -0600

Simon Lynen gravatar image

I have a library X that builds differently for 64 and 32 bit systems and outputs the binaries to the subfolders unix32/lib and unix64/lib respectively.

For dependend packages I publish both the unix32 and the unix64 lib-path in the manifest of X as follows: <export> <cpp cflags="-I${prefix}/include" lflags=" -L${prefix}/unix32/lib -L${prefix}/unix64/lib -lX"/> </export>

When I link against this package on 64bit systems the linker puts out a warning about skipping incompatible libs. (naturally this is about the 32 bit version)

Would it be somehow possible to add a switch in library X's manifest much like the existing "os"-switch that would allow me to specify the appropriate directory for the given architecture and thereby turn the warning off?


edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2011-10-11 22:24:12 -0600

Simon Lynen gravatar image

updated 2011-10-11 22:24:58 -0600

got it:

<cpp cflags="-I${prefix}/include" lflags=" -L${prefix}/unix`getconf LONG_BIT`/lib -lX"/>


edit flag offensive delete link more

Question Tools


Asked: 2011-10-11 20:21:31 -0600

Seen: 265 times

Last updated: Oct 11 '11