[filesystem] problems cross-compiling for QNX from windows host
Hi, I have some strange errors when cross-compiling some of the boost libraries for QNX on a windows host: According to the Jamfile, the filesystem library includes boost system in the linking stage NOT as a library (via e.g. -lboost_system-mt-d) but as a (shared) object. This has the effect, that somehow the current path of the libboost_system-mt-d.so file (e.g. bin.v2\libs\system\build\qcc\ debug\target-os-qnx\threadapi-pthread\threading-multi) is inserted into the filesystem library. Naturally, after moving the libraries to the QNX target this path isn't valid any longer. The runtime the complains "Could not find library ...". If I rename libboost_system-mt-d.so to have the path mentioned above prepended (not as a path, but really the filename, containing the backslashes) everything works fine. As a first workaround I decided to remove boost_system from the linking of boost_filesystem in the Jamfile and specify -lboost_system-mt-d in the link of my executable. This works fine, but unfortunately only up to the first exception. The program now gets aborted during unwind of the exception. The question now is: could somebody please indicate, why the boost_system library is not linked via the -l switch, and what is wrong trying to do this. Another solution might be to convince the linker not to include the compile-time path of the .so file but I was not successful trying this. Any help would be greatly appreciated. Thanks, Guenther
participants (1)
-
Guenther Stattenberger