为什么我的32位Fortran / C DLL不能在MSYS2中编译? [英] Why won't my 32-bit Fortran/C DLL compile in MSYS2?

查看:365
本文介绍了为什么我的32位Fortran / C DLL不能在MSYS2中编译?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图使用gcc(5.3。)在MSYS2( msys2-x86_64-20160205 )中的64位Windows 7上编译具有混合Fortran / C代码的DLL。 0)。我想编译它32位。 (如果省略 -m32 标志并将其编译为64位,那么它工作得很好。)



因为我对这类事情没有经验,所以我可能会犯一些非常愚蠢的错误......所以我提前道歉!



我看起来像砖墙我已经成功(我认为)安装了32位工具链,但是当我运行我的Makefile时,似乎找不到它找不到的东西。



任何人都可以帮助我指出正确的方向吗?

我写得不好的Makefile :

  FC = gfortran -g -m32 
CC = g ++ -g -m32

DLL_SRC_DIR =。
BUILD_DIR =构建

全部:
$(FC)-c $(DLL_SRC_DIR)/fdll.f90 -o $(BUILD_DIR)/fdll.o

$(CC)-c -DBUILDING_C_DLL $(DLL_SRC_DIR)/cdll.cpp -o $(BUILD_DIR)/cdll.o
$(CC)-shared -o $(BUILD_DIR)/libcdll.dll $ (BUILD_DIR)/cdll.o $(BUILD_DIR)/fdll.o -Wl, - out-implib,$(BUILD_DIR)/libcdll.a, - output-def,$(BUILD_DIR)/libcdll.def -lgfortran
/ c / Program \ Files \ \(x86 \)/ Microsoft \ Visual \ Studio \ 12.0 / VC / BIN / lib / MACHINE:x86 / DEF:$(BUILD_DIR)\\\ \\ libcdll.def /OUT:$(BUILD_DIR)\\libcdll.lib

clean:
rm -f $(BUILD_DIR)/ *
make

$ b $

b

  $ make 
gfortran -g -m32 -c ./fdll.f90 -o build / fdll.o
g ++ -g - m32 -c -DBUILDING_C_DLL ./ cdll.cpp -o build / cdll.o
g ++ -g -m32 -shared -o build / libcdll.dll build / cdll.o build / fdll.o -Wl, - out-implib,build / libcdll.a,--output-def,build / libcdll.def -lgfortra n
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld:跳过不兼容的/ usr / lib /gcc/x86_64-pc-msys/5.3.0/libgfortran.dll.a搜索-lgfortran时
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../ ../../x86_64-pc-msys/bin/ld:在搜索-lgfortran
时,跳过不兼容的/usr/lib/gcc/x86_64-pc-msys/5.3.0/libgfortran.a / usr / lib / gcc / x86_64-pc-msys / 5.3.0 /../../../../ x86_64-pc-msys / bin / ld:跳过不兼容/ usr / lib / gcc / x86_64-pc-msys /5.3.0/libgfortran.a搜索-lgfortran时
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc- msys / bin / ld:搜索-lgfortran时,跳过不兼容的/usr/lib/gcc/x86_64-pc-msys/5.3.0/libgfortran.dll.a
/ usr / lib / gcc / x86_64-pc- msys / 5.3.0 /../../../../ x86_64-pc-msys / bin / ld:跳过不兼容/usr/lib/gcc/x86_64-pc-msys/5.3.0/libgfortran.a搜索-lgfortran时
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld:找不到-lgfortran
/ usr / lib / gcc / x86_6 4-pc-msys / 5.3.0 /../../../../ x86_64-pc-msys / bin / ld:跳过不兼容/usr/lib/gcc/x86_64-pc-msys/5.3.0 /libstdc++.dll.a搜索-lstdc ++时
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/ bin / ld:在搜索-lstdc ++
/usr/lib/gcc/x86_64-pc-msys/5.3时跳过不兼容的/usr/lib/gcc/x86_64-pc-msys/5.3.0/libstdc++.a。 0 /../../../../ x86_64-pc-msys / bin / ld:搜索时跳过不兼容的/usr/lib/gcc/x86_64-pc-msys/5.3.0/libstdc++.a - lstdc ++
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld:跳过不兼容的/ usr / lib /gcc/x86_64-pc-msys/5.3.0/libstdc++.dll.a搜索-lstdc ++
时/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../ ../../x86_64-pc-msys/bin/ld:当搜索-lstdc ++
时,跳过不兼容的/usr/lib/gcc/x86_64-pc-msys/5.3.0/libstdc++.a / usr / lib / gcc / x86_64-pc-msys / 5.3.0 /../../../../ x86_64-pc-msys / bin / ld:找不到-lstdc ++
/ usr / lib / gcc /x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ ld:搜索-lgcc_s
/usr/lib/gcc/x86_64-pc-msys/5.3时跳过不兼容的/usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc_s.dll.a。 0 /../../../../ x86_64-pc-msys / bin / ld:在搜索时跳过不兼容的/usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc_s.dll.a for -lgcc_s
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld:找不到-lgcc_s
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld:跳过不兼容/ usr / lib / gcc / x86_64-pc-msys / 5.3.0 / libgcc.a搜索-lgcc时
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../ ../x86_64-pc-msys/bin/ld:在搜索-lgcc
/ usr / lib / gcc时跳过不兼容的/usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc.a /x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld:跳过不兼容/usr/lib/gcc/x86_64-pc-msys/5.3。 0 / libgcc.a搜索-lgcc时
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin / ld:找不到-lgcc
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../ ../x86_64-pc-msys/bin/ld:找不到-lmsys-2.0
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../。 ./x86_64-pc-msys/bin/ld:搜索-ladvapi32时,跳过不兼容的/usr/lib/w32api/libadvapi32.a
/usr/lib/gcc/x86_64-pc-msys/5.3.0/ ../../../../x86_64-pc-msys/bin/ld:搜索-ladvapi32
/ usr / lib / gcc时跳过不兼容的/usr/lib/w32api/libadvapi32.a / x86_64-pc-msys / 5.3.0 /../../../../ x86_64-pc-msys / bin / ld:在搜索-ladvapi32 $时跳过不兼容的/usr/lib/w32api/libadvapi32.a b $ b /usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld:找不到-ladvapi32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld:跳过不兼容的/ usr / lib / w32api / libshel​​l32。搜索-lshell32时
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld:跳过不兼容/usr/lib/w32api/libshel​​l32.a搜索-lshell32时
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64 -pc-msys / bin / ld:跳过ping不兼容/usr/lib/w32api/libshel​​l32.a搜索-lshell32时
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../ x86_64-pc-msys / bin / ld:找不到-lshell32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc -msys / bin / ld:搜索-luser32时跳过不兼容的/usr/lib/w32api/libuser32.a
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../ .. /../../x86_64-pc-msys/bin/ld:在搜索-luser32
/ usr / lib / gcc / x86_64-pc-msys时跳过不兼容的/usr/lib/w32api/libuser32.a /5.3.0/../../../../x86_64-pc-msys/bin/ld:在搜索-luser32
/ usr时跳过不兼容的/usr/lib/w32api/libuser32.a /lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld:找不到-luser32
/ usr / lib / gcc / x86_64-pc-msys / 5.3.0 /../../../../ x86_64-pc-msys / bin / ld:搜索时跳过不兼容的/usr/lib/w32api/libkernel32.a - lkernel32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld:跳过不兼容的/ usr / lib / w32api / libkernel 32.a搜索-lkernel32
时/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld :搜索-lkernel32时跳过不兼容的/usr/lib/w32api/libkernel32.a
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../ .. / x86_64-pc-msys / bin / ld:找不到-lkernel32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64- pc-msys / bin / ld:在搜索-lgcc_s
/ usr / lib / gcc / x86_64时,跳过不兼容的/usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc_s.dll.a。 pc-msys / 5.3.0 /../../../../ x86_64-pc-msys / bin / ld:跳过不兼容/usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc_s .dll.a搜索-lgcc_s
时/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ ld:找不到-lgcc_s
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld:跳过不兼容/usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc.a搜索-lgcc时
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../ ../../../x86_64-pc-msys/bin/ld:跳过不兼容/ usr / lib / gcc / x 86_64-pc-msys / 5.3.0 / libgcc.a搜索-lgcc时
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../ .. / x86_64-pc-msys / bin / ld:在搜索-lgcc
/ usr / lib / gcc / x86_64时跳过不兼容的/usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc.a -pc-msys / 5.3.0 /../../../../ x86_64-pc-msys / bin / ld:找不到-lgcc
collect2:错误:ld返回1退出状态
make:*** [Makefile:12:all]错误1

32位工具链:

  $ pacman -S mingw-w64-i686-toolchain 
::在mingw-w64-i686-toolchain中有16个成员:
:: Repository mingw32
1)mingw-w64-i686-binutils 2)mingw-w64-i686-crt-git 3)mingw- w64-i686-gcc-4)mingw-w64-i686-gcc-ada 5)mingw-w64-i686-gcc-fortran 6)mingw-w64-i686-gcc-libgfortran 7)mingw-w64-i686-gcc-libs 8 )mingw-w64-i686-gcc-objc 9)mingw-w64-i686-gdb
10)mingw-w64-i686-headers-git 11)mingw-w64-i686-libmangle-git 12)mingw-w64 -i686-libwinpthre git 13)mingw-w64-i686-make 14)mingw-w64-i686-pkg-config 15)mingw-w64-i686-tools-git 16)mingw-w64-i686-winpthreads-git

输入一个选项(默认=全部):
解析依赖关系...
寻找冲突的包...
警告:检测到依赖关系周期:
警告:mingw- w64-i686-gcc-libgfortran将在它的mingw-w64-i686-gcc-libs依赖项之前安装

软件包(40)mingw-w64-i686-bzip2-1.0.6-5 mingw-w64 -i686-ca-certificates-20150426-2 mingw-w64-i686-expat-2.1.1-1 mingw-w64-i686-gdbm-1.12-1 mingw-w64-i686-gettext-0.19.7-1 mingw-w64 -i686-gmp-6.1.0-1 mingw-w64-i686-isl-0.16.1-1 mingw-w64-i686-libffi-3.2.1-3
mingw-w64-i686-libiconv-1.14- 5 mingw-w64-i686-libsystre-1.0.1-2 mingw-w64-i686-libtasn1-4.8-1 mingw-w64-i686-libtre-git-r122.c2f5d13-4 mingw-w64-i686-mpc-1.0。 3-2 mingw-w64-i686-mpfr-3.1.4-3 mingw-w64-i686-ncurses-6.0.20160220-2
mingw-w64-i686-openssl-1.0.2.h-1 mingw- W64-i686的-P11-组合 - 0.23.2-2 mingw-w64-i686-python2-2.7.11-4 mingw-w64-i686-readline-6.3.008-1 mingw-w64-i686-tcl-8.6.5-1 mingw-w64-i686- termcap-1.3.1-2 mingw-w64-i686-tk-8.6.5-1
mingw-w64-i686-windows-default-manifest-6.4-2 mingw-w64-i686-zlib-1.2.8 -9 mingw-w64-i686-binutils-2.25.1-5 mingw-w64-i686-crt-git-5.0.0.4680.362c947-1 mingw-w64-i686-gcc-5.4.0-1 mingw-w64-i686 -gcc-ada-5.4.0-1 mingw-w64-i686-gcc-fortran-5.4.0-1
mingw-w64-i686-gcc-libgfortran-5.4.0-1 mingw-w64-i686- gcc-libs-5.4.0-1 mingw-w64-i686-gcc-objc-5.4.0-1 mingw-w64-i686-gdb-7.11.1-2 mingw-w64-i686-headers-git-5.0.0.4680 .362c947-1 mingw-w64-i686-libmangle-git-5.0.0.4669.7de6266-1
mingw-w64-i686-libwinpthread-git-5.0.0.4670.00cda6f-1 mingw-w64-i686-make- 4.1.2351.a80a8b8-1 mingw-w64-i686-pkg-config-0.29.1-1 mingw-w64-i686-tools-git-5.0.0.4669.7de6266-1 mingw-w64-i686-winpthreads-git-5.0 .0.4670.00cda6f-1

安装总尺寸:619.73 MiB

:: Procee d与安装? [Y / n] Y
(40/40)检查钥匙圈中的按键[############################## ################################################## ####################] 100%
(40/40)检查包的完整性[############## ################################################## ####################################] 100%
(40/40)loading package文件[################################################ ################################################## ##] 100%
(40/40)检查文件冲突[################################################# ################################################## #] 100%
(40/40)检查可用磁盘空间[################################ ################################################## ##################] 100%
::处理软件包更改...
(1/40)安装mingw-w64-i686-libiconv [################################################# ################################################## #] 100%
(2/40)安装mingw-w64-i686-gmp [############################ ################################################## ######################] 100%
(3/40)installin g mingw-w64-i686-libwinpthread-git [####################################### ################################################## ###########] 100%
(4/40)安装mingw-w64-i686-gcc-libgfortran [################ ################################################## ##################################] 100%
(5/40)安装mingw-w64 -i686-gcc-libs [#]########### ################################################## #######] 100%
(6/40)安装mingw-w64-i686-bzip2 [###################### ### ################################################## #########################] 100%
(7/40)安装mingw-w64-i686-zlib [#### ################################################## ##############################################] 100%
(8/40)安装mingw-w64-i686-binutils [################################# ################################################## #################] 100%
(9/40)安装mingw-w64-i686-headers-git [########## ################################################## ########################################] 100%
(10 / 40)安装mingw-w64-i686-crt-git [################################################# ################################################## #] 100%
(11/40)安装mingw-w64-i686-isl [############################ ################################################## ######################] 100%
(12/40)安装mingw-w64-i686-mpfr [####### ################################################## ###########################################] 100%
(13/40)安装mingw-w64-i686-mpc [#################################### ################################################## ####### #######] 100%
(14/40)安装mingw-w64-i686-windows-default-manifest [################## ################################################## ################################] 100%
(15/40)安装mingw-w64-i686 -winpthreads-git [############################################# ################################################## #####] 100%
(16/40)安装mingw-w64-i686-gcc [######################## ################################################## ##########################] 100%
(17/40)安装mingw-w64-i686-gcc-ada [################################################# ################################################## #] 100%
(18/40)安装mingw-w64-i686-gcc-fortran [########################## ################################################## ########################] 100%
(19/40)安装mingw-w64-i686-gcc-objc [### ################################################## ###############################################] 100%
(20/40)安装mingw-w64-i686-expat [################################ ################################################## ##################] 100%
(21/40)安装mingw-w64-i686-gettext [################################################# ################################################## #] 100%
(22/40)安装mingw-w64-i686-gdbm [############################ ################################################## ######################] 100%
(23/40)安装mingw-w64-i686-libffi [####### ################################################## ###########################################] 100%
(24/40)安装mingw-w64-i686-libtre-git [################################## ####################### ###########################################] 100%
(25/40)安装mingw-w64-i686-libsystre [#################################### ################################################## ##############] 100%
(26/40)安装mingw-w64-i686-ncurses [############### ################################################## ###################################] 100%
(27/40)安装mingw- w64-i686-libtasn1 [#]######### ################################################## ######] 100%
(28/40)安装mingw-w64-i686-p11-kit [################################################# ################################################## #] 100%
(29/40)安装mingw-w64-i686-ca-certificates [########################## ################################################## ########################] 100%
(30/40)安装mingw-w64-i686-openssl [##### ################################################## #############################################] 100%
(31/40)安装mingw-w64-i686-termcap [################################## ################################################## ################] 100%
(32/40)insta lling mingw-w64-i686-readline [######################################### ################################################## #########] 100%
(33/40)安装mingw-w64-i686-tcl [#################### ################################################## ##############################] 100%
(34/40)安装mingw-w64-i686-tk [################################################# ################################################## #] 100%
(35/40)安装mingw-w64-i686-python2 [##################### ################################################## #############################] 100%
(36/40)安装mingw-w64-i686-gdb [ ################################################## ################################################## ] 100%
(37/40)安装mingw-w64-i686-libmangle-git [########################### ################################################## #######################] 100%
(38/40)安装mingw-w64-i686-make [###### ################################################## ############################################] 100%
(39/40)安装mingw-w64-i686-pkg-config [################################################# ################################################## #] 100%
(40/40)安装mingw-w64-i686-tools-git [########################## ################################################## ########################] 100%


解决方案

似乎没有人想发布我们在问题的评论中发现的答案,所以我只是把它张贴出来。 / p>

我需要使用 C:\msys64\mingw32.exe 可执行文件启动shell。请参阅评论以了解更多详情。


I'm trying to compile a DLL with mixed Fortran/C code on 64-bit Windows 7 in MSYS2 (msys2-x86_64-20160205) with gcc (5.3.0). I want to compile it 32-bit. (It works just fine if I leave out the -m32 flags and compile it 64-bit.)

Being as inexperienced with this sort of thing as I am, I'm likely making some pretty stupid mistakes... so my apologies in advance!

The brick wall I seem to be running into is the following.

I have successfully (I think) installed the 32-bit toolchain, but when I run my Makefile, it seems it can't find it.

Can anyone help to point me in the right direction?

My poorly written Makefile:

FC=gfortran -g -m32
CC=g++ -g -m32

DLL_SRC_DIR=.
BUILD_DIR=build

all:
    $(FC) -c $(DLL_SRC_DIR)/fdll.f90 -o $(BUILD_DIR)/fdll.o

    $(CC) -c -DBUILDING_C_DLL $(DLL_SRC_DIR)/cdll.cpp -o $(BUILD_DIR)/cdll.o
    $(CC) -shared -o $(BUILD_DIR)/libcdll.dll $(BUILD_DIR)/cdll.o $(BUILD_DIR)/fdll.o -Wl,--out-implib,$(BUILD_DIR)/libcdll.a,--output-def,$(BUILD_DIR)/libcdll.def -lgfortran
    /c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 12.0/VC/BIN/lib /MACHINE:x86 /DEF:$(BUILD_DIR)\\libcdll.def /OUT:$(BUILD_DIR)\\libcdll.lib

clean:
    rm -f $(BUILD_DIR)/*

Running make:

$ make
gfortran -g -m32 -c ./fdll.f90 -o build/fdll.o
g++ -g -m32 -c -DBUILDING_C_DLL ./cdll.cpp -o build/cdll.o
g++ -g -m32 -shared -o build/libcdll.dll build/cdll.o build/fdll.o -Wl,--out-implib,build/libcdll.a,--output-def,build/libcdll.def -lgfortran
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgfortran.dll.a when searching for -lgfortran
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgfortran.a when searching for -lgfortran
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgfortran.a when searching for -lgfortran
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgfortran.dll.a when searching for -lgfortran
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgfortran.a when searching for -lgfortran
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -lgfortran
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libstdc++.dll.a when searching for -lstdc++
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libstdc++.a when searching for -lstdc++
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libstdc++.a when searching for -lstdc++
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libstdc++.dll.a when searching for -lstdc++
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libstdc++.a when searching for -lstdc++
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -lstdc++
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc_s.dll.a when searching for -lgcc_s
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc_s.dll.a when searching for -lgcc_s
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -lgcc_s
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -lgcc
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -lmsys-2.0
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/w32api/libadvapi32.a when searching for -ladvapi32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/w32api/libadvapi32.a when searching for -ladvapi32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/w32api/libadvapi32.a when searching for -ladvapi32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -ladvapi32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/w32api/libshell32.a when searching for -lshell32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/w32api/libshell32.a when searching for -lshell32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/w32api/libshell32.a when searching for -lshell32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -lshell32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/w32api/libuser32.a when searching for -luser32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/w32api/libuser32.a when searching for -luser32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/w32api/libuser32.a when searching for -luser32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -luser32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/w32api/libkernel32.a when searching for -lkernel32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/w32api/libkernel32.a when searching for -lkernel32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/w32api/libkernel32.a when searching for -lkernel32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -lkernel32
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc_s.dll.a when searching for -lgcc_s
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc_s.dll.a when searching for -lgcc_s
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -lgcc_s
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-msys/5.3.0/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-msys/5.3.0/../../../../x86_64-pc-msys/bin/ld: cannot find -lgcc
collect2: error: ld returned 1 exit status
make: *** [Makefile:12: all] Error 1

Installing the 32-bit toolchain:

$ pacman -S mingw-w64-i686-toolchain
:: There are 16 members in group mingw-w64-i686-toolchain:
:: Repository mingw32
   1) mingw-w64-i686-binutils  2) mingw-w64-i686-crt-git  3) mingw-w64-i686-gcc  4) mingw-w64-i686-gcc-ada  5) mingw-w64-i686-gcc-fortran  6) mingw-w64-i686-gcc-libgfortran  7) mingw-w64-i686-gcc-libs  8) mingw-w64-i686-gcc-objc  9) mingw-w64-i686-gdb
   10) mingw-w64-i686-headers-git  11) mingw-w64-i686-libmangle-git  12) mingw-w64-i686-libwinpthread-git  13) mingw-w64-i686-make  14) mingw-w64-i686-pkg-config  15) mingw-w64-i686-tools-git  16) mingw-w64-i686-winpthreads-git

Enter a selection (default=all):
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: mingw-w64-i686-gcc-libgfortran will be installed before its mingw-w64-i686-gcc-libs dependency

Packages (40) mingw-w64-i686-bzip2-1.0.6-5  mingw-w64-i686-ca-certificates-20150426-2  mingw-w64-i686-expat-2.1.1-1  mingw-w64-i686-gdbm-1.12-1  mingw-w64-i686-gettext-0.19.7-1  mingw-w64-i686-gmp-6.1.0-1  mingw-w64-i686-isl-0.16.1-1  mingw-w64-i686-libffi-3.2.1-3
              mingw-w64-i686-libiconv-1.14-5  mingw-w64-i686-libsystre-1.0.1-2  mingw-w64-i686-libtasn1-4.8-1  mingw-w64-i686-libtre-git-r122.c2f5d13-4  mingw-w64-i686-mpc-1.0.3-2  mingw-w64-i686-mpfr-3.1.4-3  mingw-w64-i686-ncurses-6.0.20160220-2
              mingw-w64-i686-openssl-1.0.2.h-1  mingw-w64-i686-p11-kit-0.23.2-2  mingw-w64-i686-python2-2.7.11-4  mingw-w64-i686-readline-6.3.008-1  mingw-w64-i686-tcl-8.6.5-1  mingw-w64-i686-termcap-1.3.1-2  mingw-w64-i686-tk-8.6.5-1
              mingw-w64-i686-windows-default-manifest-6.4-2  mingw-w64-i686-zlib-1.2.8-9  mingw-w64-i686-binutils-2.25.1-5  mingw-w64-i686-crt-git-5.0.0.4680.362c947-1  mingw-w64-i686-gcc-5.4.0-1  mingw-w64-i686-gcc-ada-5.4.0-1  mingw-w64-i686-gcc-fortran-5.4.0-1
              mingw-w64-i686-gcc-libgfortran-5.4.0-1  mingw-w64-i686-gcc-libs-5.4.0-1  mingw-w64-i686-gcc-objc-5.4.0-1  mingw-w64-i686-gdb-7.11.1-2  mingw-w64-i686-headers-git-5.0.0.4680.362c947-1  mingw-w64-i686-libmangle-git-5.0.0.4669.7de6266-1
              mingw-w64-i686-libwinpthread-git-5.0.0.4670.00cda6f-1  mingw-w64-i686-make-4.1.2351.a80a8b8-1  mingw-w64-i686-pkg-config-0.29.1-1  mingw-w64-i686-tools-git-5.0.0.4669.7de6266-1  mingw-w64-i686-winpthreads-git-5.0.0.4670.00cda6f-1

Total Installed Size:  619.73 MiB

:: Proceed with installation? [Y/n] Y
(40/40) checking keys in keyring                                                                                                                                   [####################################################################################################] 100%
(40/40) checking package integrity                                                                                                                                 [####################################################################################################] 100%
(40/40) loading package files                                                                                                                                      [####################################################################################################] 100%
(40/40) checking for file conflicts                                                                                                                                [####################################################################################################] 100%
(40/40) checking available disk space                                                                                                                              [####################################################################################################] 100%
:: Processing package changes...
( 1/40) installing mingw-w64-i686-libiconv                                                                                                                         [####################################################################################################] 100%
( 2/40) installing mingw-w64-i686-gmp                                                                                                                              [####################################################################################################] 100%
( 3/40) installing mingw-w64-i686-libwinpthread-git                                                                                                                [####################################################################################################] 100%
( 4/40) installing mingw-w64-i686-gcc-libgfortran                                                                                                                  [####################################################################################################] 100%
( 5/40) installing mingw-w64-i686-gcc-libs                                                                                                                         [####################################################################################################] 100%
( 6/40) installing mingw-w64-i686-bzip2                                                                                                                            [####################################################################################################] 100%
( 7/40) installing mingw-w64-i686-zlib                                                                                                                             [####################################################################################################] 100%
( 8/40) installing mingw-w64-i686-binutils                                                                                                                         [####################################################################################################] 100%
( 9/40) installing mingw-w64-i686-headers-git                                                                                                                      [####################################################################################################] 100%
(10/40) installing mingw-w64-i686-crt-git                                                                                                                          [####################################################################################################] 100%
(11/40) installing mingw-w64-i686-isl                                                                                                                              [####################################################################################################] 100%
(12/40) installing mingw-w64-i686-mpfr                                                                                                                             [####################################################################################################] 100%
(13/40) installing mingw-w64-i686-mpc                                                                                                                              [####################################################################################################] 100%
(14/40) installing mingw-w64-i686-windows-default-manifest                                                                                                         [####################################################################################################] 100%
(15/40) installing mingw-w64-i686-winpthreads-git                                                                                                                  [####################################################################################################] 100%
(16/40) installing mingw-w64-i686-gcc                                                                                                                              [####################################################################################################] 100%
(17/40) installing mingw-w64-i686-gcc-ada                                                                                                                          [####################################################################################################] 100%
(18/40) installing mingw-w64-i686-gcc-fortran                                                                                                                      [####################################################################################################] 100%
(19/40) installing mingw-w64-i686-gcc-objc                                                                                                                         [####################################################################################################] 100%
(20/40) installing mingw-w64-i686-expat                                                                                                                            [####################################################################################################] 100%
(21/40) installing mingw-w64-i686-gettext                                                                                                                          [####################################################################################################] 100%
(22/40) installing mingw-w64-i686-gdbm                                                                                                                             [####################################################################################################] 100%
(23/40) installing mingw-w64-i686-libffi                                                                                                                           [####################################################################################################] 100%
(24/40) installing mingw-w64-i686-libtre-git                                                                                                                       [####################################################################################################] 100%
(25/40) installing mingw-w64-i686-libsystre                                                                                                                        [####################################################################################################] 100%
(26/40) installing mingw-w64-i686-ncurses                                                                                                                          [####################################################################################################] 100%
(27/40) installing mingw-w64-i686-libtasn1                                                                                                                         [####################################################################################################] 100%
(28/40) installing mingw-w64-i686-p11-kit                                                                                                                          [####################################################################################################] 100%
(29/40) installing mingw-w64-i686-ca-certificates                                                                                                                  [####################################################################################################] 100%
(30/40) installing mingw-w64-i686-openssl                                                                                                                          [####################################################################################################] 100%
(31/40) installing mingw-w64-i686-termcap                                                                                                                          [####################################################################################################] 100%
(32/40) installing mingw-w64-i686-readline                                                                                                                         [####################################################################################################] 100%
(33/40) installing mingw-w64-i686-tcl                                                                                                                              [####################################################################################################] 100%
(34/40) installing mingw-w64-i686-tk                                                                                                                               [####################################################################################################] 100%
(35/40) installing mingw-w64-i686-python2                                                                                                                          [####################################################################################################] 100%
(36/40) installing mingw-w64-i686-gdb                                                                                                                              [####################################################################################################] 100%
(37/40) installing mingw-w64-i686-libmangle-git                                                                                                                    [####################################################################################################] 100%
(38/40) installing mingw-w64-i686-make                                                                                                                             [####################################################################################################] 100%
(39/40) installing mingw-w64-i686-pkg-config                                                                                                                       [####################################################################################################] 100%
(40/40) installing mingw-w64-i686-tools-git                                                                                                                        [####################################################################################################] 100%

解决方案

No one seems to have wanted to post the answer which we figured out in the comments on the question, so I'm posting it to just tie things up.

I needed to start the shell with the C:\msys64\mingw32.exe executable. See the comments for more details.

这篇关于为什么我的32位Fortran / C DLL不能在MSYS2中编译?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆