2017-10-06 94 views
1

我有一个Linux项目,我想移植到Windows。在Linux下,我没有设置我的makefile运行x86_64-w64-mingw32-g++当我打电话make ARCH=win交叉编译时避免头碰撞

的问题是,一些头,我需要(tcl.h和朋友)都位于'/usr/include'下,如果我通过该目录与-I标志I会得到一个标头碰撞,如stdlib.h,这对于Windows显然是不同的。

除了将所需的tcl头文件复制到另一个位置之外,是否有解决方法?

回答

0

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

一个解决方案,你可以用这个问题尝试使用-I/usr,并与sed实用程序所需的头转换像<tcl.h><include/tcl.h>修补工程。最重要的是,您可以使用预处理器来避免每次修补项目时进行修补。