我想使用libtorrent(libtorrent-rasterbar-0.16.15)库开发桌面应用程序。该应用程序是用Java编写的,所以我想使用JNI加载torrent.dll。
首先我从javah生成了一个.h文件。然后我为它写了一个.cpp文件。问题出现了:我添加一行
static libtorrent::session gSession;
编译到dll运行良好,我得到了.dll文件。但是,当我尝试通过JNI在Java中加载此torrent.dll时。我的应用程序卡在那里,没有任何错误。当我删除该行并使函数只打印几行时,它就可以工作。
我的bjam收到了torrent.dll:
bjam msvc boost=source link=shared boost-link=shared runtime-link=shared
bjam版本是1.55.0