使用外部库编译 C++ 脚本,不起作用

使用外部库编译 C++ 脚本,不起作用

我似乎无法让它工作。我有一个不是我自己写的 c++ 脚本,需要用 g++ 进行编译。脚本的开头如下所示:

#include "x.hh"
#include "y.hh"

#include <iostream>
...

我理解,使用带引号的 include 时,这意味着在进行编译时必须包含外部库。头文件 x.hh 和 y.hh,以及文件 x.cc 和 y.cc(我猜是库)加上主脚本都在同一个文件夹中。我尝试使用以下命令编译它们:

g++ Documents/Cpp/script.cc -o script -L Documents/Cpp -lx -ly

这将返回错误:

/usr/bin/ld cannot find -lx
/usr/bin/ld cannot find -ly
collect2 returned 1 exit status

搜索路径与我指定的路径不同。即使我这样写:

g++ Documents/Cpp/script.cc -o script -L sdfsdf/sdfsd-lx -ly

它仍然出现在/usr/bin/ld文件夹中。无论我写入什么-L,它都无法工作。怎么办?

答案1

您可以使用-I来指定包含目录。

所以“编译命令”应该是这样的:

g++ -o output_name -I/include/path source.cpp

使用您的源名称和包含路径:

g++ -o script -I~/Documents/Cpp ~/Documents/Cpp/script.cc 

相关内容