对于我的学士论文,我正在实现一个分布式版本的算法,用于分解大整数(寻找素数分解)。这在例如 RSA 密码系统的安全性中具有应用。
我的愿景是,客户端(linux 或 windows)将下载应用程序并计算一些数字(这些是独立的,因此适合并行化)。这些号码(不经常找到)将被发送到主服务器,以收集这些号码。一旦主服务器收集到足够的数字,它将完成其余的计算,这些计算不容易并行化。
无论如何,到技术细节。我正在考虑使用 Boost::Asio 来实现套接字客户端/服务器,以便客户端与主服务器进行通信。因为我想同时为 linux 和 windows 编译,所以我认为 windows 是一个很好的起点。因此,我下载了 Boost 库并对其进行了编译,正如Boost Getting Started 页面上所说:
引导程序
.\bjam
这一切都编译得很好。然后我尝试编译来自 Asio 的教程示例 client.cpp 之一,发现(这里.. 编辑:由于限制无法发布链接)。我正在使用 Microsoft Visual Studio 2008 中的 Visual C++ 编译器,如下所示:
cl /EHsc /ID:\Downloads\boost_1_42_0 client.cpp
但我得到这个错误:
/out:client.exe
客户端.obj
链接:致命错误 LNK1104:无法打开文件“libboost_system-vc90-mt-s-1_42.lib”
任何人都知道可能出了什么问题,或者我该如何前进?我几乎整个星期都在尝试获得一个简单的 C++ 客户端/服务器套接字程序,但没有运气。严重的挫败感袭来。
先感谢您。