繁体   English   中英

如何在Cygwin和MinGW中告诉C ++库路径

[英]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

我相信它指的是MinGW / include中的那个。 查看包含路径Minigw文档

如果您正在使用eclipse环境,则可以在项目设置中指定包含路径,同时指定您选择的编译器,即在您的情况下使用mingw。 如果您还有问题,请告诉我们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM