从哪里开始部署 C++ 代码?
Where do one start on deploying C++ code?
我只想将我制作的一些简单的 SDL 应用程序发送给我的 non-coder 朋友。我用谷歌搜索了一下,但得到的只是更多的困惑。我真的不知道我应该做什么以及从哪里开始。
有人说我需要使用 Make/Cmake 之类的东西,有人说使用某种安装程序,如 NSIS 或 INNO Setup,有人说我只需要将所有库放在我想要的文件夹中发送给最终用户。
我在一个新的 Windows 虚拟机上尝试了最后一个,它要求提供我不知道它们是什么的奇怪 dll(libstdc++-6 和 libgcc_s_seh-1)。我安装了它们并放置了文件夹,但后来它一直要求更多。
我不知道我应该做什么。我是否需要使用其他程序,如 CMake 或 NSIS? (我在 Eclipse 上构建项目作为 C++ Managed Built)。如果不是,我应该使用什么样的构建选项?我应该在文件中添加哪些库?我想要的只是一个起点和一个我可以遵循的指南。
我在应用程序中使用的库:
stdio.h
math.h
time.h
string
SDL.h ( SDL2 )
SDL_image.h
(是的,我在文件中提供了 SDL dll,并设法在 VM 上获得空白 window 应用程序 运行。但 actaul 应用程序不起作用。)
如有任何关于标题的信息,我们将不胜感激。预先感谢。
Some said I would need to use Make/Cmake kind of stuff
那些不会改变任何东西。构建系统只是为您提供了一种调用编译器的便捷方式。
some sort of installer like NSIS or INNO Setup
您可以使用它们,但这与在存档中向您的朋友发送 .exe
+ .dll
没有根本区别。
I tried the last one on a fresh Windows VM, It asked for weird dlls that I don't know what they are ( libstdc++-6 & libgcc_s_seh-1 )
你好像用的是 MinGW。这些 .dll
随您的编译器一起提供,并且与 g++.exe
.
位于同一目录中
它们应该被复制到您的 .exe
所在的文件夹。
it kept asking for more
它应该只要求编译器附带的一些 .dll
, 或 用于 .dll
你使用的库(SDL2.dll
).
如评论中所述,复制 .dll
的替代方法是 静态链接 ,即将库直接嵌入 .exe
.
我只想将我制作的一些简单的 SDL 应用程序发送给我的 non-coder 朋友。我用谷歌搜索了一下,但得到的只是更多的困惑。我真的不知道我应该做什么以及从哪里开始。
有人说我需要使用 Make/Cmake 之类的东西,有人说使用某种安装程序,如 NSIS 或 INNO Setup,有人说我只需要将所有库放在我想要的文件夹中发送给最终用户。
我在一个新的 Windows 虚拟机上尝试了最后一个,它要求提供我不知道它们是什么的奇怪 dll(libstdc++-6 和 libgcc_s_seh-1)。我安装了它们并放置了文件夹,但后来它一直要求更多。
我不知道我应该做什么。我是否需要使用其他程序,如 CMake 或 NSIS? (我在 Eclipse 上构建项目作为 C++ Managed Built)。如果不是,我应该使用什么样的构建选项?我应该在文件中添加哪些库?我想要的只是一个起点和一个我可以遵循的指南。
我在应用程序中使用的库:
stdio.h
math.h
time.h
string
SDL.h ( SDL2 )
SDL_image.h
(是的,我在文件中提供了 SDL dll,并设法在 VM 上获得空白 window 应用程序 运行。但 actaul 应用程序不起作用。)
如有任何关于标题的信息,我们将不胜感激。预先感谢。
Some said I would need to use Make/Cmake kind of stuff
那些不会改变任何东西。构建系统只是为您提供了一种调用编译器的便捷方式。
some sort of installer like NSIS or INNO Setup
您可以使用它们,但这与在存档中向您的朋友发送 .exe
+ .dll
没有根本区别。
I tried the last one on a fresh Windows VM, It asked for weird dlls that I don't know what they are ( libstdc++-6 & libgcc_s_seh-1 )
你好像用的是 MinGW。这些 .dll
随您的编译器一起提供,并且与 g++.exe
.
它们应该被复制到您的 .exe
所在的文件夹。
it kept asking for more
它应该只要求编译器附带的一些 .dll
, 或 用于 .dll
你使用的库(SDL2.dll
).
如评论中所述,复制 .dll
的替代方法是 静态链接 ,即将库直接嵌入 .exe
.