首页 文章

在Windows上使用MinGW32-make.exe将环境路径更改为makefile

提问于
浏览
2

我有一个makefile,我想在Windows上使用MinGW编译DLL .

这个项目我要编译成32位和64位 .

我将MinGW32安装到带有x86编译器的 C:\MinGW32 和带有x64编译器的 C:\MinGW64 .

makefile,根据目标使用一个或另一个路径,但我遇到的问题是我需要在全局环境路径上指定 C:\MinGWxx\bin ,因为它需要bin目录的一些DLL .

我尝试了一些像Specifying path in makefile (GNU make on Windows)这样的解决方案,但它不起作用 .

似乎在此版本的操作系统中不会重新导出导出(或者不支持make) .

我试着把

SET Path=$(PATH_DVL_x86)\bin;$(PATH_DVL_x86)\msys\1.0\bin;${PATH}

这不会返回错误,但环境路径上没有任何更改 .

1 回答

  • 2

    您需要使用.ONESHELL特殊目标强制配方在一个shell中运行所有命令:

    .ONESHELL:
    
    .PHONY: all anotherRule
    
    all:
        @ECHO OFF
        ECHO %PATH% # Will echo your PATH environment variable content
        SET PATH=%PATH%;toto
        ECHO %PATH% # Will echo your PATH + ";toto" appended to it
    
    anotherRule:
        @ECHO OFF
        ECHO %PATH% # Will echo your PATH without ";toto", as expected
    

    现在很容易编写特定的规则来与不同的编译器一起使用:

    all-x86: CC := mingw32-gcc
    all-x86: ...
        ...
    
    all-64: CC := mingw64-gcc
    all-64: ...
        ...
    

相关问题