我正在尝试通过make文件编译测试。为什么第一个路径用〜/不编译,而第二个路径用完整路径工作。他们不是等价的吗?我应该避免在makefile中使用〜/吗?
这不编译:
g ++ -isystem~ / workspace / gtest-1.7.0 / include -I~ / workspace / gtest-1.7.0 -g -Wall -Wextra -pthread -c \ 〜/ workspace / gtest-1.7.0 / src / gtest-all.cc /home/olivier/workspace/gtest-1.7.0/src/gtest-all.cc:42:24:致命
错误:src / gtest.cc:没有这样的文件或目录#include“src / gtest.cc”
编译好的罚款:
g ++ -isystem /home/olivier/workspace/gtest-1.7.0/include -I / home / olivier / workspace / gtest-1.7.0 -g -Wall -Wextra -pthread -c \ /home/olivier/workspace/gtest-1.7.0/src/gtest-all.cc
答案 0 :(得分:0)
~
扩展通常不会在字符串中间工作。 Make正在使用的shell不知道如何处理-I~/whatever
。请尝试相对路径,或者如果您绝对需要等效的~
,请尝试$(HOME)
。