在具有32位二进制文​​件的64位机器上编译c程序

时间:2014-05-28 12:45:54

标签: c gcc 64-bit libssh

我目前正在尝试使用libssh.dll库来实现一个连接到远程计算机的c程序。我正在使用gcc来编译程序。编译此程序时,我收到此错误:

i386 architecture of input file 'libssh/bin/libssh.ddl' is incompatible with i386:x86-64 output

我尝试使用-m32标志编译程序,但后来我收到了这些错误:

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.8.2//libgcc_s.dll.a when searching for -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.8.2//libgcc.a when searching for -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../libcygwin.a when searching for -lcygwin
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.8.2/libgcc_s.dll.a when searching for -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/4.8.2//libgcc.a when searching for -lgcc

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

您需要安装32位版本的C库。

如果您希望能够使用-m32选项进行编译和链接,则需要32位库。

您安装了cygwin32吗?

相关问题