[英]How to tell C++ library path in Cygwin and MinGW
我在Windows XP上使用Cygwin安装开发C ++程序。
我也安装了MinGW,因为我想使用它的g ++版本,而不是Cygwin附带的版本。
那部分似乎设置正确。 当我开始Cygwin会话时,我看到了这个:
$ g ++
/ cygdrive / C / MinGW的/ bin中/克++
这是正确的,g ++指向我的MinGW安装。
我不明白的是当我编写包含库代码的代码(例如,来自`Winsock / BerkleySockets API的头文件)时,如何判断编译器在哪里找到头文件?
例如,如果我的代码中有#include "winsock.h"
,编译器在哪里找到该头文件?
如果我在计算机上搜索winsock.h,我会得到:
C:\\ MinGW的\\包括
C:\\ Cygwin的的\\ usr \\包括\\ w32api
两者都有winsock.h的副本(虽然这些文件的大小不完全相同,所以它们不能完全相同)。
谢谢您的帮助。
我还应该指出,我的Windows PATH环境变量中有C:\\MinGW\\bin
,以及我在Cygwin中的/etc/profile file
配置的相同路径。
我猜测为MingW编译的g ++与标准g ++具有相同的命令行参数。 查看g ++手册页 。
要向编译添加包含路径,请使用-I
标志。
g++ -I/include/path/here -I/another/include/path -o prog src.cpp
要将库路径添加到链接,请使用-L
标志。
g++ -L/lib/path/here -L/another/lib/path -o prog src.cpp
MingW网站解释了包含文件搜索如何在MingW上运行,以及如何修改它。
该站点还说,如果要在编译期间查看包含文件搜索,请将详细标志( -v
)传递给编译器。
g++ -v -o prog src.cpp
如果您正在使用eclipse环境,则可以在项目设置中指定包含路径,同时指定您选择的编译器,即在您的情况下使用mingw。 如果您还有问题,请告诉我们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.