mingw 下 设定头文件路径:
C++头文件目录%MINGW_PATH%/lib/gcc/mingw32/4.4.0/include/c++下有头文件,里面有std::string类的声明。
//根目录
MINGW_PATH=D:/MinGW (举例D盘,实际根据自己的MInGw的安装路径决定)
//C头文件目录
C_INCLUDE_PATH=%MINGW_PATH%/include;%MINGW_PATH%/lib/gcc/mingw32/3.4.5/include
//C++头文件目录
CPLUS_INCLUDE_PATH=%MINGW_PATH%/include/c++/3.4.5;%MINGW_PATH%/include/c++/3.4.5/mingw32;%MINGW_PATH%/include/c++/3.4.5/backward;%C_INCLUDE_PATH%
//在QTSDK带的MinGW中C++头文件目录均在lib文件夹下
CPLUS_INCLUDE_PATH=%MINGW_PATH%/lib/gcc/mingw32/4.4.0/include/c++;%C_INCLUDE_PATH%
//库目录
LIBRARY_PATH=%MINGW_PATH%/lib;%MINGW_PATH%/lib/gcc/mingw32/3.4.5
//可执行程序目录
PATH=%MINGW_PATH%/bin;%MINGW_PATH%/libexec/gcc/mingw32/3.4.5
在makefile调用g++的时候 即编译那一步
加一个编译选项
-IPATH_HEADER_FILE
PATH_HEADER_FILE可以是绝对路径 也可以是makefile的相对路径
比如
g++ a.cpp -o a.o -c -Iinclude
这样在./include下的所有头文件就都可以找到了
有的可以调用,有的不能调用,但是为了保持最大的兼容性,一些常规操作都是可以的,如:
算点东西,打印出来,就是一些标准c的基本函数
但是涉及到底层,比如驱动一台打印机打印东西,如果标准C中没有相关函数或者不兼容,就不能用了,相关的头文件可能在库文件的头文件中可以找到,但是都是简单定义,会将此类函数忽略,造成链接的时候,无法解析外部变量
所以人们通常都是这样做,涉及底层就用windows的 API函数,而在Linux就用标准的函数,大部分多是UNIX上相似的一些函数