【发布时间】:2017-07-29 08:48:43
【问题描述】:
我在 cygwin 中使用 mingw 64 位。
我知道如果我编译使用
x86_64-w64-mingw32-g++.exe -std=c++11 hello.cpp
除非在 Path 环境变量中指定 libstdc++ 和其他库的库路径,否则输出 .exe 不会运行。
另一种方法是静态链接
x86_64-w64-mingw32-g++.exe -std=c++11 hello.cpp -static-libgcc -Wl,-Bstatic -lstdc++ -lpthread
因为我想要一个可以轻松复制到不同机器上的单个 .exe,所以第二种解决方案对我来说更好。我唯一的问题是,由于我是静态链接的,即使对于一个简单的 helloworld 程序,可执行文件的大小也会超过 10 Mb。所以我的问题是:是否可以仅静态链接程序实际使用的库部分?
【问题讨论】:
标签: c++ cygwin static-linking mingw-w64