以下是我的问题的一些背景知识:
我在Visual C ++ 2006中有一个项目,在Visual C ++ 2010 Express中有一个项目。两者都编译形成一个exe文件。我无法将我的2006项目转换为2010,因为我收到了很多“无法加载项目”的错误。我也无法将我的2010年项目代码移植到2006年(无论我尝试什么,我总是会遇到错误,与库有关)。
我的最终解决方案要求我只有一个可执行文件。有什么我可以做到的吗?我已经在谷歌上做了一些快速搜索,发现那里有加入者,但我也听说过这些东西经常被用来制造恶意软件。
作为参考,我正在使用“虚拟”客户端,因此希望尽可能地简化事情。因此,让他们执行一个exe比让他们执行两个更好。另外,我不希望他们的防病毒程序变得混乱,因为我使用了一些程序将两个exe连接在一起。怎么办?
编辑:
这两个项目文件做了不同的事情。例如,VS2006中的项目设置了一个服务器,VS2010中的项目可以获取用户操作系统的信息。我认为,“服务器”的代码有很多依赖性,并且由于某种原因无法转换为Visual c + + 2010.“抓取”的代码需要一些较新的库和编译选项,如果我移植到2006,则无法工作
另外我认为我提到的exe合并只是作为一个“容器”,它一个接一个地运行两个exe文件。
答案 0 :(得分:1)
唯一的好解决方案是将最旧的代码(2006)移植到VS2010(或者将两个项目都移植到更新的编译器),然后从一个新的解决方案中编译一个新的可执行文件,您可以根据需要组合这两个项目。
如评论所述,合并两个可执行文件一般没什么意义(入口点是什么?冲突的符号怎么样?不同的编译器和链接器生成这些二进制文件的事实怎么样?等等)