如何解决在Windows中编译一个C prog winth unix syle头文件
|| 好吧,我有一些Cpp源文件和头文件,并且头文件包含形式为include的语句,#include<include/config.h>
#include<include/controls.h>
事情是即时通讯在Windows上使用gcc,它说没有这样的文件或目录,因为Windows样式路径没有\'/ \'而不是\'\\\',
所以我将路径更改为include \\ config.h,但问题又出在config.h中,其中包含许多头文件,它们具有相似的unix路径样式,并且更改所有头文件中的路径是不可行的。一个库,并且有数百个这样的头文件,有什么方法可以使用GCC(minGW)进行编译?
谢谢 :)
这听起来像是一个愚蠢的问题,很抱歉!
解决方法
我不认为ѭ1的方向是这里的问题。出于(某些)unix兼容性的目的,Windows在准确地调用其API时应为您在两者之间进行转换。
我认为问题是包含路径。尝试使用编译程序
gcc -o output.exe -I\"c:\\path\\to\\directory\\above\\include\" file.c
因此,在使用include标志指定的目录中,存在一个包含标题的子目录\“ include \”。假设其他标头中的所有路径都与此相对。
,config.h
和controls.h
不是标准头文件。尝试以下方法:
#include \"include/config.h\"
#include \"include/controls.h\"
更好的方法是使用命令行指定包含目录并使用
#include \"config.h\"
#include \"controls.h\"
mingw
使用的选项与所有其他c编译器相同::8ѭ...
正如其他人所说,/
vs.\\
是没有问题的。甚至Microsoft编译器和实用程序在任何地方都接受“ 1”。 ѭ10的使用是历史错误,是不必要的。
,您可以在这里很好地讨论您的问题:
如何在C ++中生成与操作系统无关的路径
,不要将正斜杠“ 1”更改为反斜杠“ 10”,因为编译器会将下一个字符解释为特殊字符“ 15”。 GCC在Windows上处理UNIX样式的路径没有问题。问题可能出在编译器缺少-I
指令-类似于-I.
来搜索当前目录和子目录中的文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。