如何在C ++ Windows中包含第三方库?

萨默尔

我的下载文件夹中有Boost库。当我尝试包含特定文件时。它抛出错误。下面是我执行的代码和步骤。

\ main.cpp

#include "type_index.hpp"

int main(){
//some code
return 0;
}

我打开命令提示符并运行以下命令

g++ -IC:\Users\Owner\Downloads\boost_1_70_0\boost -o main main.cpp

我在命令提示符下出现以下错误

In file included from main.cpp:2:0:
C:\Users\Owner\Downloads\boost_1_70_0\boost/type_index.hpp:17:28: fatal error: boost/config.hpp: No such file or directory
 #include <boost/config.hpp>
                            ^
compilation terminated.

如何运行上述文件?我是否必须将boost目录的位置从downloads文件夹更改为目录中的某些位置mingw

添加目录图片: 在此处输入图片说明

WhozCraig

假设boost已正确配置并在您的系统上构建,boost include root的集线器将位于一个位置。例如:如果您在中下载并构建了boost c:\Stuff\boost_1_70_0,则该文件夹中将是boost包含集的中心c:\Stuff\boost_1_70_0\boost,并且其中包含所有boost标题。

通过修改包含路径以提供对boost包含中心的访问来引用boost;以提供到最上面的头所述轮毂。与openssl相似,boost的所有序言都包含在自己标头中,并带有boost/boost的使用者应该这样做,因此,include路径必须包括boost/可以找到集线器的文件夹它应该包括boost/轮毂本身作为路径的一部分。

例如:这是正确的

g++ -Ic:\Stuff\boost_1_70_0 -o main main.cpp

另一方面,这是错误的:

g++ -Ic:\Stuff\boost_1_70_0\boost -o main main.cpp

对于前者,当代码包括:

#include <boost/asio.hpp>

搜索include路径,并找到文件。此外,在该标头中,当编译器看到以下内容时:

#include <boost/asio/associated_allocator.hpp>

它仍然可以正确解析,因为将“内容”放在包含路径中文件夹之一的末尾是可行的。

现在,考虑错误的情况。如果将包含路径配置为意外指定boost/根集线器本身,会发生什么?好了,现在可以执行以下操作:

#include <asio.hpp>

但是一旦预处理器在该标头上启动,它将看到:

#include <boost/asio/associated_allocator.hpp>

嗯.. 预处理程序将寻找并永远找不到它

概要

在源代码中使用boost标头时,始终将其与boost hub序言一起使用:

#include <boost/headername.hpp>

并始终boost/在构建配置中包含集线器所在的文件夹,作为修改后的包含路径;包括集线器在内的完整路径boost/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Xcode 6.0中构建和包含第三方C库

如何在Google App Engine中包含第三方Python库?

如何在Meteor.js中包含第三方JavaScript库?

如何从Android上包含的第三方库中删除未使用的资源?

C ++标准中的第三方库

浏览器扩展-如何在background.js文件中包含第三方库

如何在Rust / Cargo中处理第三方静态C库依赖关系?

我如何在openLiberty Maven构建中包含第三方库

如何在反应中使用/包含第三方库?

如何在Dragal 8中使用Packosist上未安装的第三方库安装第三方库?

如何在cmake中包含第三方工具?

如何在CMake中包含来自第三方项目的选定来源

如何在vue.js中包含第三方JavaScript文件?

如何在Eclipse中的第三方库中设置断点?

如何在angular 6中捕获第三方库中的数据?

如何在Maven POM中处理第三方JAR和远程存储库?

如何在Symfony 3.3中加载第三方库

如何在React钩子中初始化第三方库(konvajs)

如何在styles.xml中引用第三方库的attrs?

如何在Ant的javadoc任务中链接第三方库

如何在发行版中附加第三方库

如何在React Native中抑制由于第三方PropTypes库引起的警告

如何在Android cmake外部构建系统中链接第三方库?

如何在Java中更改第三方库的日志级别

如何在ReactJS应用中插入第三方库

如何在 web api 或库中包装第三方对象?

如何在 Rust 中为第三方库实现迭代器

在Rust中,如何定义或导入第三方库中的C结构?

如何测试包含第三方指令的组件