linux上的Termios.h错误,Windows上的-lftdi错误。交叉编译

时间:2018-04-03 04:21:12

标签: c linux windows gcc

我能够为linux编译它并在linux上运行它,但我希望能够在我的Windows机器上运行它。 https://github.com/bear24rw/rgb_table/tree/master/code/table_drivers/beat_finder (这是允许的吗?) 当我尝试在我的linux机器上交叉编译它时,我得到一个错误,说无法找到Termios.h。我读到某个地方,termios.h和mingw不能一起工作。因此,我花了几个小时下载一些用于Windows的编译工具(在上限速度上)以尝试在Windows上取得进展,因为无论如何我想要运行应用程序。我现在尝试使用Cygwin,当我尝试通过对makefile进行一些更改来尝试编译它来尝试使用

    x86_64-pc-cygwin-gcc

我得到了

    /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld: 
    cannot find -lftdi
    collect2: error: ld returned 1 exit status
    make: *** [makefile:6: main] Error 1

我已经使用了cygwin的软件包安装程序,但我只找到了ftdi1,但我确实在github上找到了ftdi.h原始文件并将其复制到我的usr / include文件夹中。所以我不知道该怎么做,但我真的很想让这个代码在我的Windows机器上运行为.exe我只需要知道我应该去哪个方向,试图解决linux机器上的termios.h错误,或Windows机器上的ftdi.h错误。

1 个答案:

答案 0 :(得分:1)

  

当我尝试在我的linux机器上交叉编译它时,我收到一条错误,说无法找到Termios.h。

这是因为<termios.h>描述了Windows上不存在的终端处理功能。但是,我在main.c中看不到任何实际依赖于termios功能的代码 - 您可以删除#include

-lftdi而言,ftdi1应该是正确的库。确保您已安装Cygwin的-dev包。