Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 是否有理由将目录添加到链接路径两次?_C++_Makefile_Ld - Fatal编程技术网

C++ 是否有理由将目录添加到链接路径两次?

C++ 是否有理由将目录添加到链接路径两次?,c++,makefile,ld,C++,Makefile,Ld,我刚刚得到了一些c++code,这是一种我相对陌生的语言。查看Makefile,似乎有一些草率和不一致的用法,但这可能只是我的经验不足。在Makefile的这一行中,是否有理由包含-L$(DIRLIB)两次 $(CC) $^ $(LDFLAGS) -L$(DIRLIB) -l$(LIB) -L$(DIRLIB) -lboost_regex-mt -o $@ 我意识到顺序很重要,因为它决定了搜索路径,但如果ld在第二个实例中发现了任何不在第一个实例中的内容,我会感到惊讶。这似乎是一个错误,因为当

我刚刚得到了一些
c++
code,这是一种我相对陌生的语言。查看
Makefile
,似乎有一些草率和不一致的用法,但这可能只是我的经验不足。在
Makefile
的这一行中,是否有理由包含
-L$(DIRLIB)
两次

$(CC) $^ $(LDFLAGS) -L$(DIRLIB) -l$(LIB) -L$(DIRLIB) -lboost_regex-mt -o $@

我意识到顺序很重要,因为它决定了搜索路径,但如果
ld
在第二个实例中发现了任何不在第一个实例中的内容,我会感到惊讶。这似乎是一个错误,因为当我删除第二个时,代码编译得很好。

生成文件是使用自动配置工具生成的吗?几乎100%确定这是一个错误。您确定您在此处键入的命令是正确的,并且命令行或任何内容中存在大小写差异吗?如果它是自动生成的,我也能看到类似的事情发生。然后还有删除它并尝试它的方法:)我从
Makefile
复制并粘贴了它,以防止键入错误。我确信这就是它所拥有的。我确实删除了第二个实例,代码似乎编译并运行良好@Barmar,我不确定它是否来自自动配置工具,但我对此表示怀疑。
$(DIRLIB)
变量对于我们使用的不同系统(mac与linux服务器)具有不同的值,尽管这可以在以后编辑。它也很短,只有30行(不确定这是否重要)。那么我想不出一个好的理由,原来的程序员可能只是被搞糊涂了。你们中的一个想写一个答案,说明没有理由链接路径两次,但也包括一个指向自动配置工具的链接,这似乎是一个可接受的例外?makefile是使用自动配置工具生成的吗?几乎100%确定这是一个错误。您确定您在此处键入的命令是正确的,并且命令行或任何内容中存在大小写差异吗?如果它是自动生成的,我也能看到类似的事情发生。然后还有删除它并尝试它的方法:)我从
Makefile
复制并粘贴了它,以防止键入错误。我确信这就是它所拥有的。我确实删除了第二个实例,代码似乎编译并运行良好@Barmar,我不确定它是否来自自动配置工具,但我对此表示怀疑。
$(DIRLIB)
变量对于我们使用的不同系统(mac与linux服务器)具有不同的值,尽管这可以在以后编辑。它也很短,只有30行(不确定这是否重要)。那么我想不出一个好的理由,原来的程序员可能只是被搞糊涂了。你们中的一个想写一个答案,说明没有理由链接路径两次,但也包括一个链接到一个自动配置工具,这似乎是一个可以接受的例外?