首页 > 解决方案 > 如何指示 mingw64-gcc 使用特定的 mingw-w64-headers/crt

问题描述

我已经编译mingw-w64-headers并如此mingw-w64-crt所述。我的问题是如何让 gcc 使用它们。

我尝试了以下方法无济于事:

SET mingw_dir=C:\msys64\mingw-w64

gcc -g -L %mingw_dir%\lib^
    -I %mingw_dir%\include^
    -Wl,--rpath=%mingw_dir%\lib^
    test.c -o test

它无法编译给:

../lib/crt2.o:在函数“pre_c_init”中: crt/crtexe.c:145:未定义对“__p__commode”的引用

这似乎是一个问题ld,但我不知道如何解决它。

标签: gccmingw-w64libccompiler-flagscrt

解决方案


似乎只需设置环境变量即可LIBRARY_PATH=C:\msys64\mingw-w64\lib;%LIBRARY_PATH%解决问题。

有了这个集合,命令行调用简化为: gcc -g test.c -o test

虽然这将使用由 安装的头文件pacman -S $MINGW_PACKAGE_PREFIX-toolchain,但这仅仅意味着我只需要编译mingw-w64-crt即可获得调试信息。


推荐阅读