随着现代计算机性能的不断提升,采用多进程模式进行软件模块的架构,也越来越常见,比如web浏览器,就是多进程的,一个网页挂了,一般不影响其它网页。本文介绍的是常用的C++多进程库RCF开源库,它的官网是https://www.deltavsoft.com/。商业开发需要商业授权,开源开发在GPLV2授权框架下使用。 由于现如今的许多项目都在较低版本的C++下开发,比如非C++11,C++14等,所以这里介绍的是RCF2.2.0。这个版本采用Boost作为基础库,本文测试环境是VS2013+RCF2.2.0+Boost1.61编译环境。
1.32位
  默认配置只有32位的,用VS2013打开vs2012文件夹中的解决方案文件,如下图所示:
C++--RCF2.2.0--VS2013编译--进程间通信库--“CryptReleaseContext”: 不允许重载函数的第二个C链接
  打开项目后如下图所示:
C++--RCF2.2.0--VS2013编译--进程间通信库--“CryptReleaseContext”: 不允许重载函数的第二个C链接
  然后配置后boost库的位置。32位可以直接编译。
2.64位
  如果想在64位中使用,发现如果直接编译,就会报错。如下图所示:
C++--RCF2.2.0--VS2013编译--进程间通信库--“CryptReleaseContext”: 不允许重载函数的第二个C链接
  作者不熟悉模板编程,看着源代码真是头大,发先是boost中win32库使用不当造成的,但是源码可以选择直接使用windows头文件。果断在项目–c+±-预处理器中加上宏BOOST_USE_WINDOWS_H。这时又报出来另外一个错误,如下图所示:
C++--RCF2.2.0--VS2013编译--进程间通信库--“CryptReleaseContext”: 不允许重载函数的第二个C链接
  查询百度,发现error C1128: 节数超过对象文件格式限制: 请使用 /bigobj 进行编译,默认情况下,对象文件最多可存放 65,536 (2^16) 个可寻址的节。将该地址容量增加至 4,294,967,296 (2^32)。大多数模块将从来不会生成包含,数超过 65,536 的 .obj 文件。但是,计算机生成的代码或大量使用模板库的代,可能需要可存放更多节的 .obj 文件。只有 Visual C++ 2005(或更高版本)中供的链接器才能使用通过 /bigobj 生成的 .obj 文件。Visual C++ 2005 之的版本中所提供的链接器不能读取使用 /bigobj 生成的 .obj 文件。
  在 Visual Studio 开发环境中设置此编译器选项,打开该项目的“属性页”对话框,单击“C/C++”项。单击“命令行”属性页。在“附加选项”框中键入编译器选项,添加/bigobj。 最终编译成功。


  欢迎光临知了软件开发网络平台,本公司定制开发各类软件,主要方向为桌面专业软件开发和插件定制开发,桌面软件主要包括文字图形识别类软件,信息管理类软件,3D打印类软件,视频类软件以及其它涉及专业的各类图形图像处理软件。插件包含AE插件,AI插件,PS插件,PDF插件,3DMAX插件以及Word,Excel等Office插件开发。详情请咨询,微信QQ:312117271,手机:18928899728,邮箱: [email protected]
公司网址:http://www.zhiliaos.com

相关文章:

  • 2022-12-23
  • 2021-10-02
  • 2021-09-16
  • 2021-12-08
  • 2021-08-03
猜你喜欢
  • 2021-11-23
  • 2022-12-23
  • 2021-12-02
  • 2022-12-23
  • 2022-12-23
  • 2021-12-16
  • 2021-10-03
相关资源
相似解决方案