G++编译时如何指定cpp文件目录?编译找不到库cpp文件
解决g++无法找到其他目录下cpp源文件的问题
首先明确:-I参数仅用于让预处理器查找头文件,完全不负责定位cpp这类源文件。你直接写x.cpp y.cpp时,编译器只会在当前工作目录里搜索,自然找不到c:\src下的文件。
给你几个实用的解决办法:
直接指定源文件的完整路径
把命令里的x.cppy.cpp替换成它们的绝对路径即可,修改后的命令:g++ -Ic:\src -Ic:\header a.cpp c:\src\x.cpp c:\src\y.cpp用通配符批量处理目录下的源文件
如果c:\src下的cpp文件都需要参与编译,不用逐个写文件名,直接用通配符*.cpp匹配:g++ -Ic:\src -Ic:\header a.cpp c:\src\*.cpp设置VPATH环境变量指定源文件搜索路径
要是不想每次都写路径,可以先设置VPATH(告诉编译器额外的源文件搜索目录),再执行编译命令:set VPATH=c:\src g++ -Ic:\src -Ic:\header a.cpp x.cpp y.cpp这样编译器会先在当前目录找
x.cppy.cpp,找不到就去VPATH指定的c:\src里搜索。
额外提醒:如果这个库有编译好的静态库/动态库文件,更推荐直接链接成品库(用-L指定库文件目录,-l指定库名),比每次编译大量cpp文件效率高很多。
内容的提问来源于stack exchange,提问作者Laura Bieber
相关产品推荐
相关产品推荐

