gpt4 book ai didi

c++ - 在另一台计算机上启动使用 MinGW 编译的 Windows 应用程序时出现库链接错误

转载 作者:可可西里 更新时间:2023-11-01 14:18:21 26 4
gpt4 key购买 nike

我编写了一个简单的 HelloWorld 控制台应用程序,并使用以下命令之一在 Windows 7 上使用 MinGW 编译器对其进行了编译:

gcc -Wall -pedantic Hello.c -o Hello.exe
g++ -Wall -pedantic Hello.cpp -o Hello.exe

但是编译器将一些自己的动态库链接到应用程序中,当我将可执行文件复制到另一台未安装 MinGW 的 Windows 7 计算机时,我遇到了缺少库的错误。在 Linux 上,这个问题通过包系统解决,它会自动安装所有需要的库,但在 Windows 中,您肯定不想告诉您的用户安装 MinGW 才能运行您的程序。

所以我的问题是:如何正确链接所有库以及我还需要做什么才能使我的应用程序独立运行?

虽然我相信,这一定是所有 Windows 程序员的基本问题,但我一直无法在 Internet 上找到任何答案(也许我只是不知道如何搜索以及搜索什么)。

最佳答案

它曾在某个阶段出现在 FAQ 中,但现在我似乎只能在 this page 上找到它:

Why I get an error about missing libstdc++-6.dll file when running my program?

GCC4 dynamically link to libgcc and libstdc++ libraries by default which means that you need a copy of libgcc_s_dw2-1.dll and libstdc++-6.dll files to run your programs build with the GCC4 version (These files can be found in MinGW\bin directory). To remove these DLL dependencies, statically link the libraries to your application by adding "-static-libgcc -static-libstdc++" to your "Extra linking options" in the project settings.

试试这个,

g++ -static-libgcc -static-libstdc++ -Wall -pedantic Hello.cpp -o Hello.exe

关于c++ - 在另一台计算机上启动使用 MinGW 编译的 Windows 应用程序时出现库链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23308385/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com