gpt4 book ai didi

c++ - 使用静态库编译 C++

转载 作者:行者123 更新时间:2023-11-28 02:30:48 27 4
gpt4 key购买 nike

这对你们来说可能是个愚蠢的问题,但我从来没有任何 C++ 经验。我正在使用开源项目 osrm (这太棒了)。仍然要请求路由,您已发出 http 请求。为了减少运行时间,我想围绕代码构建一个包装器并使用命令行调用它。所以我google了一下,发现osrm在编译项目的时候已经创建了一个静态库(.a文件)。我还找到了一个 piece of code这为我指明了构建包装器的正确方向。因此,首先我构建了一个简单的 hello world 程序(见下文),其中包含该静态库中的一些文件。为了编译我遵循了 this教程。我的目录结构如下所示:./helloWorld.cpp./libs/libOSRM.a

编译命令是这样的:

gcc –static helloworld.cpp –L ./libs –l libOSRM.a

它自己的代码:

#include "Router.h"
#include "boost/filesystem/path.hpp"
#include "ServerPaths.h"
#include "ProgramOptions.h"
#include <InternalDataFacade.h>
#include <viaroute.hpp>
#include <iostream.h>

main()
{
cout << "Hello World!";
return 0;
}

我得到的确切错误:

fatal error: ServerPaths.h: No such file or directory #include "ServerPaths.h"

最佳答案

-IPathToTheHeaderFiles 添加到编译器选项。所以它会找到要包含的文件。将 PathToTheHeaderFiles 替换为文件 ServPaths.h 所在的路径。

编辑:为更多头文件添加尽可能多的 -I

此外,阅读一本关于 C++ 或/和 GCC manual 的书也是值得的。 1

1 第 3.11 节会有所帮助。

关于c++ - 使用静态库编译 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29071892/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com