0

我有一个我已经完成的 c++ 项目的可执行文件。它在我的电脑上运行良好,但它给导致 dll 丢失的其他原因出错。我搜索了一个解决方案,我发现在 VC++ 中我可以去

项目 > 属性 > 配置属性 > C/C++ > 代码生成 > 运行时库 > 多线程 (/MT)

如果值是带有 dll 的 MT 就可以了。

我使用 Eclipse,但找不到类似的东西。有什么方法可以让 exe 在不使用 dll finder 的情况下在其他电脑上运行?

4

2 回答 2

1

你还没有说什么 .dll 丢失了,但是因为它是 MinGW,我认为它是他们的 .dll 丢失之一。

您可以尝试添加-static到您的构建选项;这会将 MinGW 库构建到您的 .exe 中,因此不需要将它们安装在另一台 PC 上。

注意:这可能还有一些我不知道的其他影响,但在简单的情况下就足够了。

或者,找到 .dll 并将其与您的程序一起分发,因为这将起作用(前提是您不使用 windows->mac 或类似的东西)。

于 2013-10-04T04:55:08.713 回答
0

dll 必须丢失,因为您使用库 (ddls) 作为共享库。但是,如果 CommanderBubble 建议您在其他 PC 上运行时的错误通过将 ddls 的链接设为静态来解决,那么您可以选择使用该方法。

但也有一些取舍。(如常见 dll 的复制等)

这个SO answer很好地解释了这种情况及其优缺点。

于 2013-12-04T08:57:24.107 回答