dva*_*ria 5 c++ compiler-construction cygwin mingw
我在Windows XP上使用Cygwin安装开发C++程序.
我也安装了MinGW,因为我想使用它的g ++版本,而不是Cygwin附带的版本.
那部分似乎设置正确.当我开始Cygwin会话时,我看到了这个:
$ g ++
/cygdrive/c/MinGW/bin/g ++
这是正确的,g ++指向我的MinGW安装.
我不明白的是当我编写包含库代码的代码(例如,来自`Winsock/BerkleySockets API的头文件)时,如何判断编译器在哪里找到头文件?
例如,如果我#include "winsock.h"在我的代码中,编译器在哪里找到该头文件?
如果我在计算机上搜索winsock.h,我会得到:
C:\ MinGW \包括
C:\ cygwin\usr\include\w32api
两者都有winsock.h的副本(虽然这些文件大小不完全相同,所以它们不能相同).
谢谢您的帮助.
我还应该指出,我有C:\MinGW\bin我的Windows PATH环境变量,以及我/etc/profile file在Cygwin中配置的相同路径.
我猜测为MingW编译的g ++ 与标准g ++具有相同的命令行参数.查看g ++手册页.
要向编辑添加包含路径,请使用该-I标志.
g++ -I/include/path/here -I/another/include/path -o prog src.cpp
Run Code Online (Sandbox Code Playgroud)
要将库路径添加到链接,请使用该-L标志.
g++ -L/lib/path/here -L/another/lib/path -o prog src.cpp
Run Code Online (Sandbox Code Playgroud)
该MingW平台网站来解释如何包括MingW平台上文件搜索工作,以及如何对其进行修改.
该站点还说,如果要在编译期间查看包含文件搜索,请将verbose标志(-v)传递给编译器.
g++ -v -o prog src.cpp
Run Code Online (Sandbox Code Playgroud)