交叉编译时避免标题冲突

时间:2017-10-06 15:35:55

标签: linux makefile mingw cross-compiling

我有一个想要移植到Windows的Linux项目。在Linux下,当我调用x86_64-w64-mingw32-g++

时,我确实设置了我的makefile来运行make ARCH=win

问题是我需要的一些头文件(tcl.h和朋友)位于'/usr/include'下面,如果我使用-I标志传递该目录,我会得到一个头文件冲突,如{ {1}}对于Windows来说显然是不同的。

除了将所需的tcl标题复制到另一个位置之外,还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

编译器会按顺序查找头文件。但不,你不能樱桃挑选头文件位置。

您可以尝试解决此问题的解决方案是使用-I/usr并使用sed实用程序修补项目,将所需的标头转换为<tcl.h><include/tcl.h>。最重要的是,您可以使用预处理器来避免每次项目修补。