C++ 将一个exe嵌入另一个exe以生成单个exe?

C++ 将一个exe嵌入另一个exe以生成单个exe?,c++,visual-studio,C++,Visual Studio,我有一个Winforms项目和一个控制台项目。 我从Winforms应用程序启动控制台应用程序作为一个外部进程,但如果可能的话,我想将两者编译成一个exe 我已经将它们都纳入了一个VS 2015解决方案中。我应该通过将console应用程序转换为库来实现这一点吗 除了所有引用、依赖项和链接器设置/路径之外,我如何将命令行参数传递给Winforms代码,并从Winforms代码启动console应用程序。i、 e.跳转到控制台应用程序的入口点?到目前为止,解决方案的构建还可以。是的,库是正确的方法

我有一个Winforms项目和一个控制台项目。
我从Winforms应用程序启动控制台应用程序作为一个外部进程,但如果可能的话,我想将两者编译成一个exe

我已经将它们都纳入了一个VS 2015解决方案中。我应该通过将console应用程序转换为库来实现这一点吗


除了所有引用、依赖项和链接器设置/路径之外,我如何将命令行参数传递给Winforms代码,并从Winforms代码启动console应用程序。i、 e.跳转到控制台应用程序的入口点?到目前为止,解决方案的构建还可以。

是的,库是正确的方法。如果您想要一个exe,那么您需要将其链接为一个静态库

将项目转换为库后,将“main”函数更改为使用其他名称,例如,我将使用“foobar”

如果您的WiFrand项目也是C++,那么接下来创建一个H文件,该文件具有“FoBar”函数的定义,例如:

int foobar(int argc, char *argv[]);
这将是您的库的外部接口。只需将其包括在内,然后您就可以将其称为:

const char *argv[] = {"progname", "arg1", "arg2"};
int result = foobar(3, argv);
当然,您也可以更改此函数以获取更方便的参数。请记住,默认情况下,argv[0]是程序名,可能会被忽略

如果您使用的是C#或其他语言,无法直接包含.h,我不确定这是否可行。请看这里:


您是想提供另一个
.exe
作为资源还是什么?完全不清楚你在问什么。我认为没那么清楚。他有两个从VisualStudio运行的程序,他想将它们导出为单个exe。好吧,把它们压缩起来!谢谢看来这正是我所需要的,让我朝着正确的方向前进。至少现在它返回了命令解析器错误。