我有一个我已经完成的 c++ 项目的可执行文件。它在我的电脑上运行良好,但它给导致 dll 丢失的其他原因出错。我搜索了一个解决方案,我发现在 VC++ 中我可以去
项目 > 属性 > 配置属性 > C/C++ > 代码生成 > 运行时库 > 多线程 (/MT)
如果值是带有 dll 的 MT 就可以了。
我使用 Eclipse,但找不到类似的东西。有什么方法可以让 exe 在不使用 dll finder 的情况下在其他电脑上运行?
你还没有说什么 .dll 丢失了,但是因为它是 MinGW,我认为它是他们的 .dll 丢失之一。
您可以尝试添加-static
到您的构建选项;这会将 MinGW 库构建到您的 .exe 中,因此不需要将它们安装在另一台 PC 上。
注意:这可能还有一些我不知道的其他影响,但在简单的情况下就足够了。
或者,找到 .dll 并将其与您的程序一起分发,因为这将起作用(前提是您不使用 windows->mac 或类似的东西)。
dll 必须丢失,因为您使用库 (ddls) 作为共享库。但是,如果 CommanderBubble 建议您在其他 PC 上运行时的错误通过将 ddls 的链接设为静态来解决,那么您可以选择使用该方法。
但也有一些取舍。(如常见 dll 的复制等)
这个SO answer很好地解释了这种情况及其优缺点。