2017-10-06 71 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>修補工程。最重要的是,您可以使用預處理器來避免每次修補項目時進行修補。