我正在尝试在Macbook上使用终端执行一个名为“palindrome.cpp”的cpp文件。此cpp文件使用名为“libStanfordCPPLib.a”的外部库,该库位于“DIRECTORY TO CPP FILE / StanfordCPPLib”下,此库的相应头文件也位于此“StanfordCPPLib”文件夹中。
您可以通过此屏幕截图查看文件夹结构:
我编译此源代码的代码是:
g++-4.8 -Wall -I/Users/myName/Downloads/CS106B/palindrome/StanfordCPPLib -L/Users/myName/Downloads/CS106B/palindrome/StanfordCPPLib palindrome.cpp libStanfordCPPLib.a
据我所知,-I代表头文件所在的目录路径,-L代表库(.a文件)所在的目录路径。这就是为什么-I和-L都是相同的目录路径“/ Users / myName / Downloads / CS106B / palindrome / StanfordCPPLib”。
但是,执行此命令会返回错误消息:“libStanfordCPPLib.a:No such file or directory”。如屏幕截图所示:
谁能明白为什么会这样?感谢。
答案 0 :(得分:0)
尝试使用-lStanfordCPPLib:
g++-4.8 -Wall -I/Users/myName/Downloads/CS106B/palindrome/StanfordCPPLib -L/Users/myName/Downloads/CS106B/palindrome/StanfordCPPLib palindrome.cpp -lStanfordCPPLib